/* community/assets/css/cart-shared.css — shared floating cart bar + slide-to-checkout (index.html + store.html). */
.cartbar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1005; display: block; background: var(--dark); padding: 10px 14px calc(10px + env(safe-area-inset-bottom, 0px)); }
    .cartbar-inner { display: flex; align-items: center; gap: 12px; max-width: 720px; margin: 0 auto; }
    .cartbar-info { display: flex; align-items: center; gap: 10px; background: none; border: none; color: #fff; cursor: pointer; padding: 0; text-align: left; flex-shrink: 0; }
    .dish-icon {
      position: relative;
      width: 46px; height: 46px;
      background: linear-gradient(145deg, #FDE68A, var(--gold) 55%, #F59E0B);
      color: #7C2D12;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      box-shadow: 0 5px 14px rgba(0,0,0,.35);
      animation: dishIdleGlow 2.6s ease-in-out infinite;
    }
    @keyframes dishIdleGlow {
      0%, 100% { box-shadow: 0 0 0 0 rgba(251,191,36,.45), 0 5px 14px rgba(0,0,0,.35); }
      50%      { box-shadow: 0 0 0 10px rgba(251,191,36,.14), 0 5px 14px rgba(0,0,0,.35); }
    }
    .dish-icon svg { width: 26px; height: 26px; }
    .dish-icon-pop { animation: dishIconPop .75s cubic-bezier(.34,1.56,.64,1); }
    @keyframes dishIconPop {
      0%   { transform: scale(1) rotate(0deg); box-shadow: 0 0 0 0 rgba(255,255,255,.85), 0 5px 14px rgba(0,0,0,.35); }
      30%  { transform: scale(1.22) rotate(-6deg); }
      55%  { transform: scale(.94) rotate(3deg); box-shadow: 0 0 0 14px rgba(255,255,255,0), 0 5px 14px rgba(0,0,0,.35); }
      75%  { transform: scale(1.05) rotate(0deg); }
      100% { transform: scale(1) rotate(0deg); }
    }
    .cartbar-count {
      position: absolute; top: -6px; right: -7px;
      background: #DC2626; color: #fff;
      border-radius: 999px; padding: 1px 6px;
      font-weight: 700; font-size: 11px;
      line-height: 1.4; min-width: 18px; text-align: center;
      box-shadow: 0 2px 6px rgba(0,0,0,.3);
    }
    .cartbar-label { display: flex; flex-direction: column; gap: 1px; }
    .cartbar-title { font-size: 15px; font-weight: 800; color: #fff; line-height: 1.2; }
    .cartbar-total { font-size: 13px; font-weight: 700; color: var(--gold); }
    .slide-checkout {
      flex: 1; min-width: 0;
      position: relative; height: 50px;
      background: rgba(255,255,255,.08);
      border: 1px solid rgba(255,255,255,.16);
      border-radius: 25px;
      overflow: hidden;
      touch-action: none;
      user-select: none; -webkit-user-select: none;
    }
    .slide-fill {
      position: absolute; inset: 0;
      background: linear-gradient(90deg, #10B981, #34D399);
      transform: scaleX(0);
      transform-origin: left center;
    }
    .slide-shimmer {
      position: absolute; top: 0; bottom: 0; width: 42%;
      background: linear-gradient(100deg, transparent, rgba(255,255,255,.28), transparent);
      pointer-events: none;
      animation: slideShimmer 2.4s ease-in-out infinite;
    }
    @keyframes slideShimmer {
      0%   { left: -45%; }
      55%  { left: 110%; }
      100% { left: 110%; }
    }
    .slide-text {
      position: absolute; inset: 0;
      display: flex; align-items: center; justify-content: center;
      gap: 6px;
      font-size: 14px; font-weight: 800; color: #fff;
      letter-spacing: .2px;
      pointer-events: none;
    }
    .slide-text svg { width: 16px; height: 16px; }
    .slide-thumb {
      position: absolute; top: 4px; left: 4px;
      width: 42px; height: 42px;
      border-radius: 50%;
      background: #fff; color: #10B981;
      display: flex; align-items: center; justify-content: center;
      box-shadow: 0 3px 10px rgba(0,0,0,.3);
    }
    .slide-thumb svg { width: 22px; height: 22px; animation: slideNudge 1.6s ease-in-out infinite; }
    @keyframes slideNudge {
      0%, 100% { transform: translateX(0); }
      50%      { transform: translateX(3px); }
    }
    body { padding-bottom: 76px; }
