 body {
      margin: 0;
      padding: 0;
      background: #111;
      font-family: 'Century Gothic', sans-serif;
      color: #f4f2a5;
    }

    .cart-overlay {
      position: fixed;
      top: 0; left: 0;
      width: 100vw;
      height: 100vh;
      background-color: rgba(0,0,0,0.85);
      display: none;
      justify-content: center;
      align-items: center;
      z-index: 9999;
    }

    .cart-content {
      background-color: #000;
      border: 2px solid #f4f2a5;
      border-radius: 16px;
      padding: 30px;
      width: 90%;
      max-width: 500px;
      max-height: 80vh;
      box-shadow: 0 0 20px rgba(255, 255, 200, 0.2);
      position: relative;
      display: flex;
      flex-direction: column;
    }

    .cart-content h2 {
      margin-top: 0;
      text-align: center;
      font-size: 24px;
      color: #f4f2a5;
    }

    #cart-items {
      overflow-y: auto;
      max-height: 300px;
      margin-bottom: 20px;
      padding-right: 5px;
      scrollbar-width: thin;
      scrollbar-color: #f4f2a5 #111;
    }

    #cart-items::-webkit-scrollbar {
      width: 6px;
    }

    #cart-items::-webkit-scrollbar-thumb {
      background-color: #f4f2a5;
      border-radius: 10px;
    }

    .cart-item {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 12px 0;
      border-bottom: 1px solid #555;
    }

    .cart-item:last-child {
      border-bottom: none;
    }

    .item-name {
      flex: 1;
      white-space: normal;
      overflow: visible;
      text-overflow: unset;
    }

    .item-name .prefix {
      color: #ccc;
      font-size: 13px;
      display: block;
    }

    .item-name .product {
      color: #f4f2a5;
      font-weight: bold;
    }

    .item-qty,
    .item-price {
      margin-left: 15px;
      white-space: nowrap;
    }

    .remove-btn {
      background: none;
      border: none;
      color: #f4f2a5;
      font-size: 18px;
      margin-left: 15px;
      cursor: pointer;
    }

    .remove-btn:hover {
      color: red;
    }

    .cart-summary {
      text-align: center;
      margin-top: 10px;
    }

    .cart-total {
      font-size: 18px;
      font-weight: bold;
    }

    .discount-message {
      margin-top: 10px;
      color: #9effa1;
      font-weight: bold;
      font-size: 14px;
    }

    .discount-section {
      margin-top: 20px;
      text-align: center;
    }

   .discount-section input {
      padding: 8px 12px;          /* espacio interno más cómodo */
      border-radius: 10px;
      border: none;
      font-family: 'Century Gothic', sans-serif;
      font-size: 14px;
      width: calc(100% - 24px);   /* ocupa casi todo pero respira */
      margin: 0 auto;             /* centrado */
      display: block;
      box-sizing: border-box;     /* cuenta bien padding y ancho */
    }


    .discount-count {
      margin-top: 10px;
      font-size: 14px;
      color: #f4f2a5;
    }

    .checkout-btn {
      margin-top: 20px;
      background-color: #f4f2a5;
      color: #000;
      border: none;
      padding: 10px 20px;
      border-radius: 20px;
      font-family: 'Century Gothic', sans-serif;
      font-size: 15px;
      font-weight: bold;
      cursor: pointer;
    }

    .checkout-btn:hover {
      background-color: #000;
      color: #f4f2a5;
      border: 2px solid #f4f2a5;
    }

    .close-cart-btn {
      background: none;
      border: none;
      color: #f4f2a5;
      font-size: 20px;
      position: absolute;
      top: 20px;
      right: 30px;
      cursor: pointer;
    }

    .close-cart-btn:hover {
      color: red;
    }

    @media screen and (max-width: 768px) {
      .cart-item {
        align-items: center;
      }
      .item-qty,
      .item-price,
      .remove-btn {
        margin-left: 0;
        margin-right: 15px;
      }
    }
    
    /* Controles de cantidad y textos unitarios */
.item-unit {
  color: #cfcaa0;
  font-size: 12px;
  margin-top: 4px;
}

.qty-controls {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0 12px;
}

.qty-btn {
  width: 28px; height: 28px;
  border-radius: 8px;
  background: #000;
  color: #f4f2a5;
  border: 1px solid #f4f2a5;
  cursor: pointer;
  font-weight: bold;
  line-height: 1;
}
.qty-btn:hover { background:#f4f2a5; color:#000; }

.item-subtotal { font-weight: bold; }

/* Toast opcional */
#cart-notification {
  position: fixed;
  left: 50%; bottom: 18px;
  transform: translateX(-50%);
  background: #000;
  border: 1px solid #f4f2a5;
  color: #f4f2a5;
  padding: 10px 14px;
  border-radius: 12px;
  box-shadow: 0 0 12px rgba(255,255,200,.15);
  opacity: 0; pointer-events: none;
  transition: opacity .25s, transform .25s;
  z-index: 10000;
}
#cart-notification.show {
  opacity: 1; transform: translateX(-50%) translateY(-6px);
}

/* Renglón 1: tipo de producto */
.product-type{
  display:block;
  color:#f4f2a5;      /* dorado GAIA */
  font-weight:bold;   /* negrilla */
  margin-bottom:2px;  /* respirito mínimo */
}
