/* ── Cart page — Shadcn-inspired ────────────────────────────────────────── */

/* ── Layout ── */
.kc-cart-page {
  padding: 2.5rem 0 4rem;
  min-height: 60vh;
}

/* ── Header ── */
.kcc-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 2rem;
  flex-wrap: wrap;
  gap: .75rem;
}
.kcc-title {
  font-size: 1.625rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 .25rem;
  letter-spacing: -.025em;
}
.kcc-subtitle {
  font-size: .875rem;
  color: #64748b;
  margin: 0;
}
.kcc-back-link {
  display: inline-flex;
  align-items: center;
  gap: .375rem;
  font-size: .8125rem;
  font-weight: 600;
  color: #2563eb;
  text-decoration: none;
  transition: color .15s;
  white-space: nowrap;
  align-self: center;
}
.kcc-back-link:hover { color: #1d4ed8; }

/* ── 2-col grid ── */
.kcc-grid {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 1.5rem;
  align-items: start;
}
@media (max-width: 1024px) {
  .kcc-grid { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════
   LEFT COLUMN — Items
══════════════════════════════════════════════════════ */
.kcc-items-list {
  border: 1px solid #e2e8f0;
  border-radius: .875rem;
  background: #fff;
  overflow: hidden;
  margin-bottom: 1rem;
}

/* Individual item */
.kcc-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #f1f5f9;
  transition: background .12s;
}
.kcc-item:last-child { border-bottom: none; }
.kcc-item:hover { background: #fafafa; }

/* Image */
.kcc-item-img {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  border-radius: .625rem;
  overflow: hidden;
  background: #f1f5f9;
}
.kcc-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.kcc-item-img a { display: block; width: 100%; height: 100%; }

/* Detail (name + meta + unit price) */
.kcc-item-detail {
  flex: 1;
  min-width: 0;
}
.kcc-item-name {
  font-size: .9rem;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.4;
  margin-bottom: .125rem;
}
.kcc-item-name a { color: #0f172a; text-decoration: none; }
.kcc-item-name a:hover { color: #2563eb; }
.kcc-item-unit {
  display: block;
  font-size: .8125rem;
  color: #64748b;
  font-weight: 500;
  margin-top: .25rem;
}
/* WC formatted item data (variation, booking meta) */
.kcc-item-detail .wc-item-meta,
.kcc-item-detail dl.variation {
  font-size: .8125rem;
  color: #64748b;
  margin: .25rem 0 0;
}
.kcc-item-detail .wc-item-meta dt,
.kcc-item-detail dl.variation dt { font-weight: 600; }
.kcc-item-detail .wc-item-meta dd,
.kcc-item-detail dl.variation dd { margin: 0; }

/* Right side: stepper + subtotal + remove */
.kcc-item-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: .625rem;
  flex-shrink: 0;
}

/* Stepper */
.kcc-stepper {
  display: inline-flex;
  align-items: center;
  border: 1px solid #e2e8f0;
  border-radius: .5rem;
  background: #f8fafc;
  overflow: hidden;
}
.kcc-step-btn {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  cursor: pointer;
  color: #475569;
  transition: background .12s, color .12s;
}
.kcc-step-btn:hover { background: #e2e8f0; color: #0f172a; }
.kcc-step-val {
  min-width: 28px;
  text-align: center;
  font-size: .875rem;
  font-weight: 700;
  color: #0f172a;
  user-select: none;
}
.kcc-qty-fixed {
  font-size: .875rem;
  font-weight: 700;
  color: #0f172a;
}

/* Subtotal */
.kcc-item-subtotal {
  font-size: .9375rem;
  font-weight: 800;
  color: #0f172a;
  white-space: nowrap;
}
.kcc-item-subtotal .woocommerce-Price-amount {
  font-weight: 800;
  color: #0f172a;
}

/* Remove */
.kcc-remove {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: .375rem;
  color: #cbd5e1;
  text-decoration: none;
  transition: color .15s, background .15s;
}
.kcc-remove:hover { color: #ef4444; background: #fef2f2; }

/* ── Coupon ── */
.kcc-coupon-row {
  border: 1px solid #e2e8f0;
  border-radius: .875rem;
  background: #fff;
  overflow: hidden;
}
.kcc-coupon-toggle {
  width: 100%;
  display: flex;
  align-items: center;
  gap: .5rem;
  padding: .875rem 1.25rem;
  background: none;
  border: none;
  cursor: pointer;
  font-size: .875rem;
  font-weight: 600;
  color: #0f172a;
  text-align: left;
  transition: background .12s;
}
.kcc-coupon-toggle:hover { background: #f8fafc; }
.kcc-coupon-form {
  display: flex;
  gap: .5rem;
  padding: .75rem 1.25rem 1rem;
  border-top: 1px solid #f1f5f9;
}
.kcc-coupon-input {
  flex: 1;
  padding: .5rem .875rem;
  border: 1px solid #e2e8f0;
  border-radius: .5rem;
  font-size: .875rem;
  color: #0f172a;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.kcc-coupon-input:focus {
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,.08);
}
.kcc-coupon-input::placeholder { color: #94a3b8; }
.kcc-coupon-btn {
  padding: .5rem 1rem;
  background: #0f172a;
  color: #fff;
  border: none;
  border-radius: .5rem;
  font-size: .875rem;
  font-weight: 700;
  cursor: pointer;
  white-space: nowrap;
  transition: background .15s;
}
.kcc-coupon-btn:hover { background: #1e293b; }

/* ══════════════════════════════════════════════════════
   RIGHT COLUMN — Summary card
══════════════════════════════════════════════════════ */
.kcc-summary-card {
  border: 1px solid #e2e8f0;
  border-radius: .875rem;
  background: #fff;
  padding: 1.5rem;
  position: sticky;
  top: 90px;
}
.kcc-sum-title {
  font-size: 1rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 1.25rem;
  letter-spacing: -.015em;
}

/* Rows */
.kcc-sum-rows {
  display: flex;
  flex-direction: column;
  gap: .625rem;
  margin-bottom: .5rem;
}
.kcc-sum-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  font-size: .875rem;
  gap: .75rem;
}
.kcc-sum-row > span:first-child { color: #64748b; }
.kcc-sum-row > span:last-child  { color: #0f172a; font-weight: 600; text-align: right; }

/* Coupon/discount row */
.kcc-sum-row--green > span:first-child { color: #16a34a; }
.kcc-sum-row--green > span:last-child  { color: #16a34a; font-weight: 700; }
.kcc-sum-row--green .woocommerce-Price-amount { color: #16a34a; }

/* Shipping value may contain WC table — hide it */
.kcc-ship-val table { display: none; }
.kcc-ship-val { font-size: .8125rem; color: #0f172a; font-weight: 600; text-align: right; }

/* WC price amount spans */
.kcc-sum-row .woocommerce-Price-amount { font-weight: 600; }

/* Total row */
.kcc-sum-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 1rem;
  margin-top: .5rem;
  border-top: 1px solid #e2e8f0;
}
.kcc-sum-total > span:first-child {
  font-size: .9375rem;
  font-weight: 700;
  color: #0f172a;
}
.kcc-sum-total-val {
  font-size: 1.25rem;
  font-weight: 900;
  color: #0f172a;
  letter-spacing: -.025em;
}
.kcc-sum-total-val .woocommerce-Price-amount {
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
}

/* Checkout button */
.kcc-checkout-wrap { margin-top: 1.25rem; }
.kcc-checkout-wrap .checkout-button,
.kcc-checkout-wrap a.checkout-button {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  padding: .75rem 1.5rem !important;
  background: #2563eb !important;
  color: #fff !important;
  border: none !important;
  border-radius: .625rem !important;
  font-size: .9375rem !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  letter-spacing: -.01em !important;
  transition: background .15s !important;
}
.kcc-checkout-wrap .checkout-button:hover,
.kcc-checkout-wrap a.checkout-button:hover {
  background: #1d4ed8 !important;
  color: #fff !important;
}

/* Continue link */
.kcc-continue-link {
  display: block;
  text-align: center;
  margin-top: .875rem;
  font-size: .8125rem;
  font-weight: 500;
  color: #64748b;
  text-decoration: none;
  transition: color .15s;
}
.kcc-continue-link:hover { color: #0f172a; }

/* Trust badges */
.kcc-trust {
  display: flex;
  justify-content: center;
  gap: 1.25rem;
  margin-top: 1.25rem;
  padding-top: 1.25rem;
  border-top: 1px solid #f1f5f9;
  flex-wrap: wrap;
}
.kcc-trust-item {
  display: flex;
  align-items: center;
  gap: .375rem;
  font-size: .75rem;
  color: #94a3b8;
  font-weight: 500;
}

/* ══════════════════════════════════════════════════════
   EMPTY CART
══════════════════════════════════════════════════════ */
.kce-page {
  min-height: 60vh;
  display: flex;
  flex-direction: column;
}
.kce-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex: 1;
  padding: 5rem 1rem;
  max-width: 400px;
  margin: 0 auto;
}
.kce-icon-box {
  width: 72px;
  height: 72px;
  border-radius: 1rem;
  border: 1px solid #e2e8f0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.75rem;
  color: #94a3b8;
  background: #fff;
}
.kce-heading {
  font-size: 1.375rem;
  font-weight: 800;
  color: #0f172a;
  margin: 0 0 .625rem;
  letter-spacing: -.025em;
}
.kce-sub {
  font-size: .9375rem;
  color: #64748b;
  margin: 0 0 2rem;
  line-height: 1.6;
}
.kce-btn {
  display: inline-flex;
  align-items: center;
  gap: .5rem;
  padding: .75rem 1.75rem;
  background: #0f172a;
  color: #fff;
  border-radius: .625rem;
  font-size: .9375rem;
  font-weight: 700;
  text-decoration: none;
  letter-spacing: -.01em;
  transition: background .15s;
}
.kce-btn:hover { background: #1e293b; color: #fff; }

/* WC'nin "Adresi değiştirin" linki ve calculator formunu gizle */
.kcc-ship-val .shipping-calculator-button,
.kcc-ship-val .woocommerce-shipping-destination a,
.shipping-calculator-form { display: none !important; }

/* Kargo satırındaki destination bilgisi */
.kcc-ship-val .woocommerce-shipping-destination {
  font-size: .8125rem; color: #64748b; text-align: right; margin-top: .25rem;
}

/* ── WooCommerce notice overrides ── */
.kc-cart-page .woocommerce-error,
.kc-cart-page .woocommerce-notices-wrapper ul.woocommerce-error {
  background: #fef2f2;
  border: 1px solid #fecaca;
  color: #dc2626;
  border-radius: .625rem;
  padding: .75rem 1rem;
  font-size: .875rem;
  list-style: none;
  margin: 0 0 1rem;
}
.kc-cart-page .woocommerce-message,
.kc-cart-page .woocommerce-notices-wrapper .woocommerce-message {
  background: #eff6ff;
  border: 1px solid #bfdbfe;
  color: #1e40af;
  border-radius: .625rem;
  padding: .75rem 1rem;
  font-size: .875rem;
  margin: 0 0 1rem;
}

/* ── Responsive ── */
@media (max-width: 640px) {
  .kc-cart-page { padding: 1.5rem 0 3rem; }

  .kcc-header { margin-bottom: 1.25rem; }
  .kcc-title { font-size: 1.25rem; }

  .kcc-item { gap: .75rem; padding: .875rem 1rem; }
  .kcc-item-img { width: 60px; height: 60px; }

  .kcc-item-right {
    flex-direction: row;
    align-items: center;
    width: 100%;
    flex-wrap: wrap;
  }

  .kcc-summary-card { position: static; }

  .kce-center { padding: 3.5rem 1rem; }
  .kce-heading { font-size: 1.125rem; }
}
