  /* Restore Bootstrap modal width on desktop; keep mobile snug */
  .location-modal .modal-dialog {
    --bs-modal-width: 600px;          /* Bootstrap default */
    max-width: var(--bs-modal-width);
    width: auto !important;
    margin: .5rem auto;
  }
  @media (max-width: 575.98px) {
    .location-modal .modal-dialog {
      --bs-modal-width: calc(100% - 2rem);
      max-width: var(--bs-modal-width);
    }
  }
  /* Make sure the modal itself never scrolls horizontally */
  .location-modal .modal-content,
  .location-modal .modal-body { overflow-x: hidden; }
  .location-modal .modal-body * { min-width: 0; }

  /* === Unified Chip (Delivery/Pickup + details) === */
  .konzume-unichip {
    display: inline-flex;
    align-items: stretch;
    gap: 0;
    background: rgba(255,255,255,0.12);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 999px;
    height: 40px;
    overflow: hidden;
    color: #fff;
    flex: 0 1 auto;
  }
  .konzume-unichip .chip-left {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 2px;
    border-right: 1px solid rgba(255,255,255,0.18);
  }
  .konzume-unichip .toggle { display: inline-flex; align-items: center; position: relative; }
  .konzume-unichip .pd-btn {
    position: relative; z-index: 2; border: 0; background: transparent; color: #fff;
    padding: 8px 12px; font-size: 12px; line-height: 1; display: inline-flex; align-items: center; gap: 6px;
    border-radius: 999px; cursor: pointer; user-select: none;
  }
  .konzume-unichip .pd-btn i { font-size: 14px; }
  .konzume-unichip .pd-indicator {
    position: absolute; top: 2px; bottom: 2px; left: 2px; width: calc(50% - 2px);
    background: #fff; border-radius: 999px; z-index: 1; transition: transform 180ms ease;
  }
  .konzume-unichip[data-mode="pickup"] .pd-indicator { transform: translateX(100%); }
  .konzume-unichip .pd-btn.active { color: #0F172A; }

  .konzume-unichip .chip-right {
    display: inline-flex; align-items: center; gap: 8px; padding: 0 12px; cursor: pointer; min-width: 0;
  }
  .konzume-unichip .chip-right .info {
    display: flex; flex-direction: column; line-height: 1.15; max-width: 220px; min-width: 0;
  }
  .konzume-unichip .when { font-size: 12px; opacity: .95; }
  .konzume-unichip .addr { font-size: 11px; opacity: .85; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .konzume-unichip .chip-right .icon { font-size: 14px; }
  .konzume-unichip[data-mode="pickup"] .chip-right .info { opacity: .75; }

  /* Mobile tightening (you set 80px; keeping that) */
  @media (max-width: 575.98px) {
    .konzume-unichip { height: 38px; }
    .konzume-unichip .pd-btn { padding: 8px 10px; font-size: 0; }
    .konzume-unichip .pd-btn i { font-size: 16px; }
    .konzume-unichip .chip-right { padding: 0 10px; }
    .konzume-unichip .chip-right .info { max-width: 85px; }
    .konzume-unichip .chip-right .icon:last-child { display: none; } /* hide trailing clock to save space */
  }

  /* Minimal modal cosmetics (Bootstrap-first) */
  .location-modal .muted { color:#6b7280; font-size: .875rem; }
  .location-modal .seg { gap:.5rem; }
  .location-modal .seg .btn { padding: .375rem .75rem; }

  /* === Keep the horizontal-scroll date strip (BUGFIX: constrain scroll to strip only) === */
  .location-modal .date-row {
    display:flex;
    gap:.5rem;
    overflow-x:auto; overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
    scroll-behavior:smooth;
    padding-bottom:.25rem;  /* room for scrollbar */
    overscroll-behavior-inline: contain; /* prevent scroll chaining */
  }
  .location-modal .date-row .btn { flex:0 0 auto; min-width:108px; }

  /* BUGFIX: prevent Bootstrap .row negative margins from pushing modal sideways */
  .location-modal #slotGrid.row { margin-left:0 !important; margin-right:0 !important; }