/* ═══════════════════════════════════════════════════════
   sepet.css — Sepet sayfası
   Miras: main.css > sepet.css
═══════════════════════════════════════════════════════ */

/* ── Sayfa alanı ────────────────────────────────────── */
.zp-sepet-page {
  background: var(--zp-light);
  padding: 1.5rem 0 4rem;
}

/* ── Sayfa başlığı ──────────────────────────────────── */
.zp-sepet-heading {
  font-family: 'Playfair Display', serif;
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--zp-dark);
  margin-bottom: .25rem;
}

/* ── Boş sepet ──────────────────────────────────────── */
.zp-empty-cart {
  background: #fff;
  border-radius: var(--zp-radius);
  box-shadow: var(--zp-shadow);
  padding: 4rem 2rem;
  text-align: center;
  display: none;
}

.zp-empty-cart.show { display: block; }

.zp-empty-cart-icon {
  font-size: 4rem;
  color: var(--zp-border);
  margin-bottom: 1rem;
}

.zp-empty-cart h5 {
  font-weight: 700;
  color: var(--zp-dark);
  margin-bottom: .5rem;
}

.zp-empty-cart p {
  color: var(--zp-gray);
  font-size: .9rem;
  margin-bottom: 1.5rem;
}

/* ── Sepet öğeleri kutusu ───────────────────────────── */
.zp-cart-box {
  background: #fff;
  border-radius: var(--zp-radius);
  box-shadow: var(--zp-shadow);
  overflow: hidden;
}

.zp-cart-box-header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--zp-border);
  font-weight: 700;
  font-size: .875rem;
  color: var(--zp-gray);
  display: flex;
  gap: 1rem;
}

/* ── Tek sepet öğesi ────────────────────────────────── */
.zp-cart-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid var(--zp-border);
  transition: background .2s;
}

.zp-cart-item:last-child { border-bottom: none; }

.zp-cart-item:hover { background: rgba(0,0,0,.01); }

.zp-cart-item-img {
  width: 72px;
  height: 72px;
  border-radius: 10px;
  overflow: hidden;
  flex-shrink: 0;
}

.zp-cart-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.zp-cart-item-info {
  flex: 1;
  min-width: 0;
}

.zp-cart-item-name {
  font-weight: 700;
  font-size: .9rem;
  color: var(--zp-dark);
  margin-bottom: .2rem;
}

.zp-cart-item-custom {
  font-size: .75rem;
  color: var(--zp-primary);
  display: flex;
  align-items: center;
  gap: .3rem;
  margin-bottom: .5rem;
}

.zp-cart-item-custom i { font-size: .65rem; }

.zp-cart-item-qty {
  display: flex;
  align-items: center;
  border: 1.5px solid var(--zp-border);
  border-radius: 8px;
  overflow: hidden;
  height: 32px;
  width: fit-content;
}

.zp-cart-item-qty button {
  width: 32px;
  height: 100%;
  background: var(--zp-light);
  border: none;
  font-size: .9rem;
  cursor: pointer;
  transition: var(--zp-transition);
  color: var(--zp-dark);
}

.zp-cart-item-qty button:hover { background: var(--zp-border); }

.zp-cart-item-qty span {
  min-width: 32px;
  text-align: center;
  font-weight: 700;
  font-size: .82rem;
}

.zp-cart-item-price {
  text-align: right;
  flex-shrink: 0;
}

.zp-cart-item-price .unit {
  font-size: .75rem;
  color: var(--zp-gray);
  margin-bottom: .1rem;
}

.zp-cart-item-price .total {
  font-weight: 800;
  font-size: 1rem;
  color: var(--zp-dark);
}

.zp-cart-item-delete {
  background: none;
  border: none;
  color: var(--zp-gray);
  cursor: pointer;
  padding: .25rem;
  border-radius: 6px;
  transition: var(--zp-transition);
  flex-shrink: 0;
}

.zp-cart-item-delete:hover {
  color: #dc3545;
  background: rgba(220,53,69,.08);
}

/* ── Özet sütunu (sticky) ───────────────────────────── */
.zp-cart-summary {
  background: #fff;
  border-radius: var(--zp-radius);
  box-shadow: var(--zp-shadow);
  padding: 1.5rem;
  position: sticky;
  top: 80px;
}

.zp-cart-summary-title {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--zp-dark);
  margin-bottom: 1.25rem;
  padding-bottom: .75rem;
  border-bottom: 1px solid var(--zp-border);
}

/* ── Kupon kodu ─────────────────────────────────────── */
.zp-coupon-wrap {
  display: flex;
  gap: .5rem;
  margin-bottom: 1.25rem;
}

.zp-coupon-wrap input {
  flex: 1;
  border: 1.5px solid var(--zp-border);
  border-radius: 10px;
  padding: .55rem .875rem;
  font-size: .82rem;
  outline: none;
  transition: var(--zp-transition);
}

.zp-coupon-wrap input:focus { border-color: var(--zp-primary); }

.zp-coupon-wrap button {
  border: 1.5px solid var(--zp-primary);
  background: transparent;
  color: var(--zp-primary);
  border-radius: 10px;
  padding: .55rem 1rem;
  font-size: .82rem;
  font-weight: 700;
  cursor: pointer;
  transition: var(--zp-transition);
  white-space: nowrap;
}

.zp-coupon-wrap button:hover {
  background: var(--zp-primary);
  color: #fff;
}

/* ── Fiyat satırları ────────────────────────────────── */
.zp-price-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: .875rem;
  padding: .4rem 0;
  color: var(--zp-gray);
}

.zp-price-row.total {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--zp-dark);
  border-top: 2px solid var(--zp-border);
  margin-top: .5rem;
  padding-top: .875rem;
}

.zp-price-row.total .amount { color: var(--zp-primary); }

.zp-price-row .label { color: var(--zp-dark); }

.zp-price-row .free {
  color: #198754;
  font-weight: 700;
}

/* ── Güven badges ───────────────────────────────────── */
.zp-cart-trust {
  display: flex;
  flex-direction: column;
  gap: .5rem;
  margin-top: 1.25rem;
  padding-top: 1rem;
  border-top: 1px solid var(--zp-border);
}

.zp-cart-trust-item {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-size: .75rem;
  color: var(--zp-gray);
}

.zp-cart-trust-item i { color: var(--zp-primary); width: 14px; }
