  :root{ --accent:#1f6feb; --muted:#666; --card:#fff; --bg:#f6f7fb; --danger:#e55353; font-family:Inter,system-ui,Segoe UI,Roboto,"Helvetica Neue",Arial;}
  .cart-btn{background:var(--card);border:1px solid #ddd;padding:6px 10px;border-radius:8px;cursor:pointer;display:flex;gap:8px;align-items:center}
  .badge{background:var(--accent);color:#fff;padding:2px 7px;border-radius:999px;font-weight:600;font-size:.85rem}
  .products{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
  .card{background:var(--card);border-radius:10px;padding:12px;border:1px solid #e6e9ef;display:flex;flex-direction:column;gap:8px}
  .card h3{margin:0;font-size:1rem}
  .price{font-weight:700;color:var(--accent)}
  .actions{margin-top:auto;display:flex;gap:8px;align-items:center}
  button{cursor:pointer;border:0;padding:8px 10px;border-radius:8px;background:var(--accent);color:#fff}
  .small{background:#fff;border:1px solid #ddd;color:#333;padding:6px 8px}
  /* Cart panel */
  .cart-panel{position:fixed;right:18px;top:80px;width:350px;max-width:92vw;background:var(--card);border-radius:10px;border:1px solid #dde3ef;padding:12px;box-shadow:0 8px 24px rgba(18,22,40,.08);display:none;z-index:40}
  .cart-panel.open{display:block}
  .cart-list{max-height:320px;overflow:auto;margin-bottom:12px}
  .cart-row{display:flex;gap:8px;align-items:center;padding:8px 4px;border-bottom:1px dashed #f0f2f7}
  .cart-row:last-child{border-bottom:none}
  .cart-row .title{flex:1}
  .qty{display:flex;gap:6px;align-items:center}
  .muted{color:var(--muted);font-size:.92rem}
  .total{display:flex;justify-content:space-between;font-weight:700;padding-top:8px;border-top:1px solid #f0f2f7}
  footer{margin-top:18px;display:flex;justify-content:space-between;align-items:center}
  .danger{background:transparent;border:1px solid var(--danger);color:var(--danger)}
  input[type="number"]{width:60px;padding:6px;border-radius:6px;border:1px solid #ddd}
  /* Container */
  .content { display:flex; justify-content:center; padding:24px; }
  .products {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 20px;
    max-width: 1100px;
    width: 100%;
    box-sizing: border-box;
  }

  /* Card */
