/* ============================================================
   MADEIN.GIFTS — Koszyk
   Wklej w: Leo Theme Control Panel → Custom CSS
   lub: Wygląd → Personalizuj → Własne CSS
   ============================================================ */

/* === GRUPOWANIE: produkt + znakowanie === */

/* Usuń wszystkie domyślne separatory między pozycjami */
.cart-overview .cart-items .cart-item {
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Produkt główny: górny separator — zaczyna nową grupę */
.cart-overview .cart-items .cart-item-product {
  border-top: 2px solid #e8e8e8 !important;
  background: #fff !important;
}

/* Pierwszy produkt bez separatora */
.cart-overview .cart-items .cart-item-product:first-child {
  border-top: none !important;
}

/* Znakowanie: szare tło, przerywana linia — "przykleja się" do produktu */
.cart-overview .cart-items .cart-item-marking {
  border-top: 1px dashed #e0e0e0 !important;
  background: #FAFAFA !important;
}

/* === UKŁAD WIERSZA === */

.cart-overview .mi-product-line {
  display: flex !important;
  gap: 14px !important;
  padding: 14px 20px !important;
  align-items: flex-start !important;
}

/* === MINIATURA === */
.cart-overview .mi-img {
  flex-shrink: 0 !important;
  width: 68px !important;
  height: 68px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid #f0f0f0 !important;
  background: #f5f5f5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.cart-overview .mi-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}
.cart-overview .mi-img svg { width: 24px !important; height: 24px !important; }
.cart-overview .mi-img-marking { background: #efefef !important; border-color: #efefef !important; }

/* === TREŚĆ ŚRODKOWA === */
.cart-overview .mi-body {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}
.cart-overview .mi-name {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #010101 !important;
  font-family: 'Sora', sans-serif !important;
  text-decoration: none !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.cart-overview .mi-name:hover { color: #B952EB !important; }
.cart-overview .mi-name-dim {
  color: #888 !important;
  font-weight: 400 !important;
  font-size: 12px !important;
}
.cart-overview .mi-name-dim:hover { color: #888 !important; }
.cart-overview .mi-attr { font-size: 11px !important; color: #888 !important; }
.cart-overview .mi-unit-price { font-size: 11px !important; color: #888 !important; margin-top: 2px !important; }

/* Tag znakowanie */
.cart-overview .mi-marking-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #B952EB !important;
  background: #f5eafd !important;
  border-radius: 4px !important;
  padding: 2px 8px !important;
  width: fit-content !important;
  font-family: 'Sora', sans-serif !important;
  margin-bottom: 2px !important;
}
.cart-overview .mi-marking-tag svg { width: 10px !important; height: 10px !important; }

/* === PRAWA KOLUMNA === */
.cart-overview .mi-right {
  flex-shrink: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px !important;
}
.cart-overview .mi-total-price {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #010101 !important;
  font-family: 'Sora', sans-serif !important;
}
.cart-overview .mi-total-dim {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #888 !important;
}
.cart-overview .mi-qty-static { font-size: 11px !important; color: #888 !important; }

/* Przycisk usuń */
.cart-overview .mi-actions { display: flex !important; }
.cart-overview .mi-remove-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  transition: background 0.15s !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: #bbb !important;
  background: transparent !important;
  border: none !important;
}
.cart-overview .mi-remove-btn:hover { background: #fce8f9 !important; color: #B952EB !important; }
.cart-overview .mi-remove-btn svg { width: 12px !important; height: 12px !important; }

/* Ostrzeżenie — brak znakowania */
.cart-overview .mi-warn-row {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 7px 20px 8px 102px !important;
  background: #fffbeb !important;
  border-top: 1px dashed #fcd34d !important;
}
.cart-overview .mi-warn-row span {
  font-size: 11px !important;
  color: #92400e !important;
  font-family: 'Sora', sans-serif !important;
}
.cart-overview .mi-warn-row a { color: #B952EB !important; font-weight: 500 !important; text-decoration: none !important; }

/* === STEPPER ILOŚCI === */
.cart-overview .input-group.bootstrap-touchspin {
  display: flex !important;
  align-items: center !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
  height: 32px !important;
  width: auto !important;
  box-shadow: none !important;
  flex-wrap: nowrap !important;
}
.cart-overview .input-group.bootstrap-touchspin .input-group-addon { display: none !important; }
.cart-overview .input-group.bootstrap-touchspin .form-control {
  border: none !important;
  width: 44px !important;
  text-align: center !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #010101 !important;
  height: 32px !important;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
}
.cart-overview .input-group.bootstrap-touchspin .form-control::-webkit-outer-spin-button,
.cart-overview .input-group.bootstrap-touchspin .form-control::-webkit-inner-spin-button { -webkit-appearance: none !important; }
.cart-overview .input-group-btn-vertical {
  display: flex !important;
  flex-direction: column !important;
  border-left: 1px solid #e8e8e8 !important;
  height: 32px !important;
  flex-shrink: 0 !important;
}
.cart-overview .btn-touchspin {
  width: 28px !important;
  height: 16px !important;
  border: none !important;
  background: #fff !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
.cart-overview .btn-touchspin:hover { background: #f5eafd !important; }
.cart-overview .btn-touchspin .material-icons { font-size: 13px !important; color: #888 !important; }
.cart-overview .btn-touchspin:hover .material-icons { color: #B952EB !important; }

/* === KARTA KOSZYKA === */
.cart-container {
  border: 1px solid #e8e8e8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.cart-container > .card-block { padding: 22px 24px 18px !important; }
.cart-container .h1 {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #010101 !important;
  letter-spacing: -0.02em !important;
  font-family: 'Sora', sans-serif !important;
}
.cart-container hr.separator { display: none !important; }

/* === PANEL SUMY === */
.cart-summary {
  border: 1px solid #e8e8e8 !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.cart-summary .card-block { padding: 0 !important; }
.cart-detailed-subtotals { padding: 20px 20px 0 !important; }
.cart-summary-line { display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 5px 0 !important; }
.cart-summary-line .label { font-size: 13px !important; color: #555 !important; font-weight: 400 !important; }
.cart-summary-line .value { font-size: 13px !important; font-weight: 500 !important; color: #010101 !important; }
.cart-summary-totals { border-top: 1px solid #f0f0f0 !important; margin: 10px 20px 0 !important; padding: 12px 0 20px !important; }
.cart-summary-totals .cart-total .label { font-size: 14px !important; font-weight: 600 !important; color: #010101 !important; }
.cart-summary-totals .cart-total .value { font-size: 17px !important; font-weight: 600 !important; color: #B952EB !important; }
#cart-subtotal-shipping .value { color: #16a34a !important; font-weight: 600 !important; }

.checkout.cart-detailed-actions { padding: 0 20px 20px !important; }
.checkout .btn-primary {
  display: block !important;
  width: 100% !important;
  padding: 12px 20px !important;
  background: #010101 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  font-family: 'Sora', sans-serif !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: background 0.2s !important;
}
.checkout .btn-primary:hover { background: #B952EB !important; }

/* Reassurance */
.blockreassurance_product {
  margin-top: 12px !important;
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 12px !important;
  padding: 4px 16px !important;
}
.blockreassurance_product > div {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  padding: 12px 0 !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.blockreassurance_product > div:last-child { border-bottom: none !important; }
.blockreassurance_product .item-product svg { width: 22px !important; height: 22px !important; }
.blockreassurance_product .block-title { font-size: 12px !important; font-weight: 500 !important; color: #010101 !important; }
.blockreassurance_product p { display: none !important; }

/* Mobile */
@media (max-width: 575px) {
  .cart-overview .mi-product-line { padding: 12px 14px !important; gap: 10px !important; }
  .cart-overview .mi-img { width: 56px !important; height: 56px !important; }
  .cart-overview .mi-warn-row { padding-left: 80px !important; }
}

/* Fix: nadpisanie agresywnych styli Leo na .cart-item */

.cart-overview .cart-items .cart-item.cart-item-product {
  border: none !important;
  border-top: 2px solid #e8e8e8 !important;
  background: #ffffff !important;
}

.cart-overview .cart-items .cart-item.cart-item-product:first-child {
  border-top: none !important;
}

.cart-overview .cart-items .cart-item.cart-item-marking {
  border: none !important;
  border-top: 1px dashed #e0e0e0 !important;
  background: #FAFAFA !important;
}

/* Układ flex wiersza */
.cart-overview .cart-items .cart-item .mi-product-line {
  display: flex !important;
  gap: 14px !important;
  padding: 14px 20px !important;
  align-items: flex-start !important;
}

/* Miniatura */
.cart-overview .cart-items .cart-item .mi-img {
  flex-shrink: 0 !important;
  width: 72px !important;
  height: 72px !important;
  min-width: 72px !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  border: 1px solid #f0f0f0 !important;
  background: #f5f5f5 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cart-overview .cart-items .cart-item .mi-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.cart-overview .cart-items .cart-item .mi-img-marking {
  background: #efefef !important;
  border-color: #efefef !important;
}

/* Treść środkowa */
.cart-overview .cart-items .cart-item .mi-body {
  flex: 1 !important;
  min-width: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 3px !important;
}

.cart-overview .cart-items .cart-item .mi-name {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #010101 !important;
  font-family: 'Sora', sans-serif !important;
  text-decoration: none !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.cart-overview .cart-items .cart-item .mi-name:hover { color: #B952EB !important; }

.cart-overview .cart-items .cart-item .mi-name-dim {
  color: #888 !important;
  font-weight: 400 !important;
  font-size: 12px !important;
}

.cart-overview .cart-items .cart-item .mi-attr {
  font-size: 11px !important;
  color: #888 !important;
}

.cart-overview .cart-items .cart-item .mi-unit-price {
  font-size: 11px !important;
  color: #888 !important;
  margin-top: 2px !important;
}

/* Tag znakowanie */
.cart-overview .cart-items .cart-item .mi-marking-tag {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  color: #B952EB !important;
  background: #f5eafd !important;
  border-radius: 4px !important;
  padding: 2px 8px !important;
  width: fit-content !important;
  font-family: 'Sora', sans-serif !important;
  margin-bottom: 2px !important;
  border: none !important;
}

/* Prawa kolumna */
.cart-overview .cart-items .cart-item .mi-right {
  flex-shrink: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 6px !important;
}

.cart-overview .cart-items .cart-item .mi-total-price {
  font-size: 14px !important;
  font-weight: 600 !important;
  color: #010101 !important;
}

.cart-overview .cart-items .cart-item .mi-total-dim {
  font-size: 12px !important;
  font-weight: 400 !important;
  color: #888 !important;
}

.cart-overview .cart-items .cart-item .mi-qty-static {
  font-size: 11px !important;
  color: #888 !important;
}

/* Przycisk usuń */
.cart-overview .cart-items .cart-item .mi-remove-btn {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  text-decoration: none !important;
  color: #bbb !important;
  background: transparent !important;
  border: none !important;
  transition: background 0.15s, color 0.15s !important;
}
.cart-overview .cart-items .cart-item .mi-remove-btn:hover {
  background: #fce8f9 !important;
  color: #B952EB !important;
}
.cart-overview .cart-items .cart-item .mi-remove-btn svg {
  width: 12px !important;
  height: 12px !important;
}