/* ============================================
   Nusa Botanics — Cart Page
   ============================================ */

.cart-header {
  max-width: 1440px;
  margin: 0 auto;
  padding: 104px 80px 24px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.cart-header__crumb { font-size: 12px; color: var(--body); }
.cart-header__title {
  font-size: 36px;
  font-weight: 300;
  color: var(--navy);
}
.cart-header__count { font-size: 14px; color: var(--body); }

@media (max-width: 768px) {
  .cart-header { padding: 80px 20px 16px; }
  .cart-header__title { font-size: 24px; }
}

/* ---------- CART BODY ---------- */
.cart-body {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 80px 80px;
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

@media (max-width: 768px) {
  body { padding-bottom: 0 !important; }
  .cart-body {
    flex-direction: column;
    padding: 0 20px 24px;
  }
}

.cart-items { flex: 1; min-width: 0; }
.cart-summary { width: 420px; flex-shrink: 0; }

@media (max-width: 768px) {
  .cart-summary { width: 100%; }
}

/* ---------- TABLE HEADER ---------- */
.cart-table-head {
  display: none;
  padding: 0 0 12px;
  gap: 16px;
  align-items: center;
}
.cart-th {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1px;
  color: var(--body);
}
.cart-th--product { flex: 1; }
.cart-th--size { width: 60px; text-align: center; }
.cart-th--qty { width: 100px; text-align: center; }
.cart-th--price { width: 100px; text-align: right; }
.cart-th--del { width: 24px; }

@media (min-width: 769px) {
  .cart-table-head { display: flex; }
}

/* ---------- DIVIDER ---------- */
.cart-divider { height: 1px; background: #E8E8E4; }

/* ---------- CART ITEM ---------- */
.cart-item {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 20px 0;
}

.cart-item__product {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.cart-item__img {
  width: 80px;
  height: 80px;
  border-radius: 6px;
  object-fit: cover;
  background: var(--ing-bg);
  flex-shrink: 0;
}

.cart-item__info h3 {
  font-size: 15px;
  font-weight: 500;
  color: var(--navy);
  line-height: 1.3;
}
.cart-item__meta {
  font-size: 13px;
  color: var(--green);
  display: block;
  margin-top: 4px;
}

.cart-item__size {
  width: 60px;
  text-align: center;
  font-size: 13px;
  color: var(--body);
}

.cart-item__qty {
  display: flex;
  align-items: center;
  gap: 0;
  border: 1px solid #CBCCC9;
  border-radius: 6px;
  overflow: hidden;
}

.cart-qty-btn {
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  color: var(--navy);
  cursor: pointer;
}
.cart-item__qty span {
  width: 32px;
  text-align: center;
  font-size: 13px;
  font-weight: 500;
  color: var(--navy);
}

.cart-item__price {
  width: 100px;
  text-align: right;
  font-size: 15px;
  font-weight: 500;
  color: var(--navy);
}

.cart-item__del {
  cursor: pointer;
  display: flex;
  align-items: center;
}
.cart-item__del:hover svg { stroke: #ef4444; }

/* Mobile: stack product info */
@media (max-width: 768px) {
  .cart-item { flex-wrap: wrap; }
  .cart-item__size { display: none; }
  .cart-item__product { flex-basis: 100%; }
  .cart-item__qty { margin-left: 96px; }
  .cart-item__price { flex: 1; text-align: right; }
}

/* Continue Shopping */
.cart-continue {
  display: flex;
  align-items: center;
  gap: 6px;
  justify-content: center;
  padding: 20px 0 0;
  font-size: 13px;
  color: var(--purple);
  transition: opacity 0.2s;
}
.cart-continue:hover { opacity: 0.7; }

/* ---------- ORDER SUMMARY ---------- */
.cart-summary__card {
  background: var(--white);
  border-radius: 6px;
  padding: 28px;
  box-shadow: 0 8px 32px rgba(50, 50, 93, 0.25);
  display: flex;
  flex-direction: column;
  gap: 16px;
  position: sticky;
  top: 88px;
}

.cart-summary__card h3 {
  font-size: 18px;
  font-weight: 500;
  color: var(--navy);
}

.cart-summary__row {
  display: flex;
  justify-content: space-between;
  font-size: 14px;
  color: var(--body);
}
.cart-summary__val { color: var(--navy); font-weight: 400; }
.cart-summary__free { color: var(--green); font-weight: 500; }

.cart-summary__promo {
  display: flex;
  gap: 8px;
}
.cart-summary__promo input {
  flex: 1;
  padding: 10px 12px;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  font-family: var(--font);
  font-size: 13px;
  color: var(--navy);
  background: var(--bg);
  outline: none;
}
.cart-summary__promo input:focus { border-color: var(--purple); }
.cart-summary__promo input::placeholder { color: #9CA3AF; }
.cart-summary__promo button {
  padding: 10px 16px;
  border-radius: 6px;
  background: #F5F5F2;
  font-size: 13px;
  font-weight: 400;
  color: var(--navy);
  cursor: pointer;
  transition: background 0.2s;
}
.cart-summary__promo button:hover { background: #E8E8E4; }

.cart-summary__divider { height: 1px; background: #E8E8E4; }

.cart-summary__total {
  display: flex;
  justify-content: space-between;
  font-size: 16px;
  font-weight: 500;
  color: var(--navy);
}
.cart-summary__total span:last-child {
  font-size: 18px;
  font-weight: 600;
}

.cart-summary__checkout {
  width: 100%;
  gap: 8px;
}

.cart-summary__trust {
  display: flex;
  justify-content: center;
  gap: 12px;
  font-size: 11px;
  color: #9CA3AF;
}
.cart-summary__dot { color: #D1D5DB; }

/* Mobile: summary not sticky */
@media (max-width: 768px) {
  .cart-summary__card {
    position: static;
    box-shadow: none;
    border: 1px solid #E8E8E4;
    padding: 20px;
  }
}
