/* ==========================================================
   IPC TOOLS — Cart
   ========================================================== */

.woocommerce-cart .ipct-container, .woocommerce-cart-form{ max-width: 1280px; margin: 0 auto; }

/* Tier progress bar */
.ipct-tier-bar{
  background: linear-gradient(135deg, var(--ipc-navy), var(--ipc-navy-3));
  color: #fff; border-radius: var(--ipc-radius); padding: 24px 28px;
  margin: 24px 0 32px;
  position: relative; overflow: hidden;
}
.ipct-tier-bar::before{
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(400px circle at 90% 50%, rgba(230,57,70,.2), transparent);
  pointer-events: none;
}
.ipct-tier-bar__head{ display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 24px; position: relative; }
.ipct-tier-bar__msg{ display: inline-flex; align-items: center; gap: 10px; font-size: 15px; }
.ipct-tier-bar__msg i{ font-size: 22px; color: var(--ipc-red); }
.ipct-tier-bar__msg--unlocked i{ color: var(--ipc-green); }
.ipct-tier-bar__msg strong{ color: #fff; font-weight: 800; }
.ipct-tier-bar__track{
  position: relative; height: 8px; background: rgba(255,255,255,.12);
  border-radius: 100px; overflow: visible;
}
.ipct-tier-bar__fill{
  position: absolute; top: 0; left: 0; height: 100%; background: linear-gradient(90deg, var(--ipc-red), #FF7A85);
  border-radius: 100px; transition: width .6s var(--ipc-ease);
}
.ipct-tier-bar__stop{
  position: absolute; top: 50%; transform: translate(-50%, -50%);
  width: 16px; height: 16px; background: rgba(255,255,255,.4); border: 3px solid var(--ipc-navy);
  border-radius: 50%; z-index: 2;
}
.ipct-tier-bar__stop.is-reached{ background: var(--ipc-red); border-color: #fff; }
.ipct-tier-bar__stop-label{
  position: absolute; top: 14px; left: 50%; transform: translateX(-50%);
  font-size: 12px; font-weight: 700; color: #C7D2EE; white-space: nowrap;
}
.ipct-tier-bar__stop-off{
  position: absolute; top: 32px; left: 50%; transform: translateX(-50%);
  font-size: 11px; color: rgba(255,255,255,.6); white-space: nowrap;
}

/* Cart layout */
.woocommerce-cart .woocommerce > .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals{
  display: block;
}
.woocommerce-cart .woocommerce{
  display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; align-items: start;
}
@media (max-width: 1024px){
  .woocommerce-cart .woocommerce{ grid-template-columns: 1fr; }
}

.woocommerce table.shop_table{
  background: #fff; border: 1px solid var(--ipc-border); border-radius: var(--ipc-radius); border-collapse: separate; border-spacing: 0;
}
.woocommerce table.shop_table th, .woocommerce table.shop_table td{
  border-color: var(--ipc-border); padding: 16px; font-size: 14px;
}
.woocommerce table.shop_table th{
  background: var(--ipc-bg); font-size: 12px; text-transform: uppercase; letter-spacing: .04em;
}
.woocommerce-cart-form__cart-item img{ width: 64px; border-radius: 10px; }
.woocommerce a.remove{
  background: var(--ipc-bg) !important; color: var(--ipc-red) !important;
  width: 28px; height: 28px; line-height: 28px; font-size: 16px;
  border-radius: 50%; transition: all .2s;
}
.woocommerce a.remove:hover{ background: var(--ipc-red) !important; color: #fff !important; }

.cart_totals{
  background: #fff; border: 1px solid var(--ipc-border); border-radius: var(--ipc-radius); padding: 24px;
  position: sticky; top: 200px;
}
.cart_totals h2{
  font-size: 18px; text-transform: uppercase; letter-spacing: .04em; margin: 0 0 16px;
  padding-bottom: 12px; border-bottom: 1px solid var(--ipc-border);
}
.cart_totals .order-total .amount{ font-size: 26px; color: var(--ipc-navy); }

/* Coupon */
.coupon{ display: flex; gap: 8px; }
.coupon input.input-text{ flex: 1; }
