    body { font-family: sans-serif; margin: 0; padding: 0; background: #f5f5f5; }
    .container { max-width: 900px; margin: auto; padding: 20px; }
    .catalog { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 20px; }
    .card { background: #fff; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); padding: 15px; display: flex; flex-direction: column; align-items: center; text-align: center; position: relative; }
    .card img { width: 100%; max-height: 150px; object-fit: cover; border-radius: 8px; margin-bottom: 10px; }
    .quantity-control { margin-top: 10px; display: flex; flex-direction: column; align-items: center; }
    .add-btn, .quick-add-btn { margin: 5px; padding: 6px 10px; border: none; background: #ffcc00; border-radius: 6px; cursor: pointer; }
    .add-options { display: none; flex-wrap: wrap; justify-content: center; gap: 5px; margin-top: 5px; }
    .add-options button { background: #eee; border: none; padding: 5px 10px; border-radius: 4px; cursor: pointer; }
    .add-options button:hover { background: #ddd; }
    .quantity-input { width: 50px; text-align: center; font-size: 1.2em; padding: 4px; border: 1px solid #ccc; border-radius: 4px; margin-bottom: 5px; }
    .total { font-weight: bold; font-size: 1.4em; text-align: right; margin: 20px 0; }
    .cart { margin-top: 30px; background: #fff; padding: 20px; border-radius: 12px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
    table { width: 100%; border-collapse: collapse; margin-top: 10px; }
    th, td { border-bottom: 1px solid #ddd; padding: 10px; text-align: left; }
    button { padding: 10px 20px; font-size: 16px; border: none; background: #ffcc00; border-radius: 8px; cursor: pointer; }
    button:hover { background: #ffb700; }
    .order-btn { display: block; margin: 20px auto 0; font-size: 18px; padding: 12px 30px; }

    .popup-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5); justify-content: center; align-items: center; z-index: 999; }
    .popup {
      background: #fff;
      padding: 30px 20px 20px;
      border-radius: 16px;
      width: 90%;
      max-width: 400px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.2);
      position: relative;
      display: flex;
      flex-direction: column;
      gap: 15px;
      box-sizing: border-box;
    }
    .popup input {
      width: calc(100% - 4px);
      padding: 12px;
      border: 1px solid #ddd;
      border-radius: 8px;
      font-size: 16px;
      box-sizing: border-box;
    }
    .popup .buttons {
      display: flex;
      justify-content: space-between;
      gap: 10px;
      margin-top: 10px;
    }
    .popup .close-btn {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 20px;
      background: none;
      border: none;
      cursor: pointer;
      color: #666;
    }
    .popup .close-btn:hover {
      color: #000;
    }