/* e-man Front Custom — Cart & Mini Cart v1.4.0 */
#cart.eman-mini-cart,
#cart { position: relative; }

#cart-content.cart-content {
  width: min(430px, calc(100vw - 24px));
  max-width: 430px;
  background: #20272e !important;
  color: #eef2f6;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 16px 0 0 16px;
  box-shadow: 0 24px 70px rgba(0,0,0,.45);
}

#cart-content .cart-products { padding: 10px 16px 4px; }
#cart-content .cart-products .table { margin: 0; }
#cart-content .cart-products tr {
  display: grid;
  grid-template-columns: 72px minmax(0,1fr) auto;
  grid-template-areas:
    "image name remove"
    "image qty total";
  align-items: center;
  gap: 6px 12px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
#cart-content .cart-products td {
  display: block;
  width: auto !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
#cart-content .td-image { grid-area: image; }
#cart-content .td-image img {
  width: 72px;
  height: 72px;
  object-fit: contain;
  padding: 5px;
  border: 0;
  border-radius: 10px;
  background: #f6f6f3;
}
#cart-content .td-name { grid-area: name; min-width: 0; }
#cart-content .td-name > a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #f6f8fa !important;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
  text-decoration: none !important;
}
#cart-content .td-name span,
#cart-content .td-name small { color: #9aa7b3; font-size: 11px; }
#cart-content .eman-mini-unit { display:block; margin-top:5px; color:#aeb8c2; font-size:11px; }
#cart-content .td-qty { grid-area: qty; }
#cart-content .td-total { grid-area: total; color:#fff; font-size:13px; font-weight:800; }
#cart-content .td-remove { grid-area: remove; align-self:start; }
#cart-content .cart-remove {
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 8px;
  background: transparent;
  color: #9aa6b2;
}
#cart-content .cart-remove:hover { color:#fff; border-color:rgba(255,255,255,.25); }

.eman-mini-qty {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  overflow: hidden;
}
.eman-mini-qty button {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #c8d0d8;
  font-size: 16px;
}
.eman-mini-qty button:hover { background: rgba(255,255,255,.06); color:#fff; }
.eman-mini-qty span { min-width: 26px; text-align:center; color:#fff; font-size:12px; }

#cart-content .cart-totals {
  position: sticky;
  bottom: 0;
  padding: 14px 16px 16px;
  background: #1a2026;
  border-top: 1px solid rgba(255,255,255,.08);
}
#cart-content .cart-totals .table { margin: 0 0 12px; }
#cart-content .cart-totals td {
  padding: 5px 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #aab5bf;
  font-size: 12px;
}
#cart-content .cart-totals .td-total-text { color:#fff; font-weight:800; }
#cart-content .cart-buttons { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
#cart-content .cart-buttons .btn {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  margin:0;
  border-radius:10px;
  font-size:12px;
  font-weight:800;
}
#cart-content .btn-cart { background:transparent; border:1px solid rgba(255,255,255,.20); color:#fff; }
#cart-content .btn-checkout { background:#84a7ff; border:1px solid #84a7ff; color:#111820; }
#cart-content .cart-empty { padding:40px 20px; color:#b8c2cb; }

/* Full cart page */
#checkout-cart.eman-cart-shell,
#checkout-cart {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
  padding: 42px 0 76px;
}
#checkout-cart .page-title { margin: 0 0 28px; color:#fff; font-size:34px; }
#checkout-cart .cart-page {
  padding: 0;
  background: transparent;
}
#checkout-cart .cart-table .table-responsive {
  overflow: visible;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 16px;
  background: #222930;
}
#checkout-cart .cart-table table { margin:0; }
#checkout-cart .cart-table thead td {
  padding: 14px 16px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: #1b2228;
  color:#9eabb6;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
}
#checkout-cart .cart-table tbody td {
  padding: 18px 16px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
  vertical-align: middle;
  color:#d9e0e6;
}
#checkout-cart .cart-table tbody tr:last-child td { border-bottom:0; }
#checkout-cart .td-image img {
  width:84px;
  height:84px;
  object-fit:contain;
  padding:6px;
  border:0;
  border-radius:12px;
  background:#f7f7f4;
}
#checkout-cart .td-name a { color:#fff; font-weight:800; text-decoration:none; }
#checkout-cart .td-name small { color:#929fac; }
#checkout-cart .td-model { color:#9aa6b2; font-size:12px; }
#checkout-cart .td-price,
#checkout-cart .td-total { color:#fff; font-weight:800; }
#checkout-cart .stepper {
  display:inline-grid;
  grid-template-columns:34px 42px 34px;
  align-items:center;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
}
#checkout-cart .stepper button,
#checkout-cart .stepper input {
  width:100%;
  height:36px;
  border:0;
  background:transparent;
  color:#fff;
  text-align:center;
}
#checkout-cart .stepper button:hover { background:rgba(255,255,255,.06); }
#checkout-cart .btn-update,
#checkout-cart .btn-remove {
  width:36px;
  height:36px;
  margin-left:6px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.10);
  background:transparent;
  color:#aab5bf;
}
#checkout-cart .btn-update:hover,
#checkout-cart .btn-remove:hover { color:#fff; border-color:rgba(255,255,255,.24); }
#checkout-cart .cart-bottom {
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:28px;
  align-items:start;
  margin-top:26px;
}
#checkout-cart .panels-total { grid-column:2; }
#checkout-cart .cart-panels,
#checkout-cart .cart-total {
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:#222930;
}
#checkout-cart .cart-panels { margin-bottom:16px; padding:20px; }
#checkout-cart .cart-panels h2 { margin-top:0; color:#fff; font-size:18px; }
#checkout-cart .cart-total .table { margin:0; }
#checkout-cart .cart-total td {
  padding:12px 16px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.07);
  background:transparent;
  color:#b5c0ca;
}
#checkout-cart .cart-total tr:last-child td { border-bottom:0; color:#fff; font-size:16px; font-weight:800; }
#checkout-cart .buttons {
  grid-column:1 / -1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:0;
}
#checkout-cart .buttons .btn {
  min-height:46px;
  padding:0 22px;
  border-radius:11px;
  font-weight:800;
}
#checkout-cart .buttons .btn-default { border:1px solid rgba(255,255,255,.18); background:transparent; color:#fff; }
#checkout-cart .buttons .btn-primary { border:1px solid #84a7ff; background:#84a7ff; color:#101820; }

@media (max-width: 767px) {
  #cart-content.cart-content { width:100vw; max-width:100vw; border-radius:0; }
  #cart-content .cart-buttons { grid-template-columns:1fr; }

  #checkout-cart { width:min(100% - 24px, 680px); padding:28px 0 56px; }
  #checkout-cart .page-title { font-size:28px; }
  #checkout-cart .cart-table .table-responsive { border:0; background:transparent; }
  #checkout-cart .cart-table table,
  #checkout-cart .cart-table tbody { display:block; }
  #checkout-cart .cart-table thead { display:none; }
  #checkout-cart .cart-table tr {
    display:grid;
    grid-template-columns:90px minmax(0,1fr);
    gap:10px 14px;
    margin-bottom:14px;
    padding:14px;
    border:1px solid rgba(255,255,255,.10);
    border-radius:14px;
    background:#222930;
  }
  #checkout-cart .cart-table tbody td {
    display:block;
    padding:0;
    border:0;
    text-align:left !important;
  }
  #checkout-cart .td-image { grid-row:1 / span 4; }
  #checkout-cart .td-image img { width:90px; height:90px; }
  #checkout-cart .td-name { grid-column:2; }
  #checkout-cart .td-model { display:none !important; }
  #checkout-cart .td-qty { grid-column:2; }
  #checkout-cart .td-price { grid-column:2; font-size:12px; color:#9aa6b2; }
  #checkout-cart .td-total { grid-column:2; font-size:17px; }
  #checkout-cart .cart-bottom { display:block; margin-top:18px; }
  #checkout-cart .panels-total { margin-bottom:16px; }
  #checkout-cart .buttons { flex-direction:column-reverse; align-items:stretch; }
  #checkout-cart .buttons .pull-left,
  #checkout-cart .buttons .pull-right { float:none !important; width:100%; }
  #checkout-cart .buttons .btn { width:100%; }
}
