/* =========================================================
   SPRINTSHIRT — SHARED CART SIDEBAR
   Breadcrumbs are centralized in common/breadcrumbs.css.
========================================================= */

/* =========================================================
   SPRINTSHIRT — CART SIDEBAR FINAL CLEAN CSS
   Важно:
   - старую .cart-dropdown.js-cart-source полностью скрываем
   - стилизуем только настоящую корзину #js-cart-sidebar внутри .sb-menu-right
   ========================================================= */

body .sb-menu-right {
  --ss-pink: #e6005c;
  --ss-orange: #ff8a00;
  --ss-border: #eeeeee;
  --ss-soft: #fff7fb;
  --ss-text: #111111;
  --ss-muted: #777777;
}

/* =========================================================
   1. KILL OLD HEADER CART SOURCE
   ========================================================= */

body .cart-dropdown.js-cart-source,
body #_desktop_cart .cart-dropdown.js-cart-source,
body .blockcart .cart-dropdown.js-cart-source,
html.sb-open body .cart-dropdown.js-cart-source,
html.sb-open body #_desktop_cart .cart-dropdown.js-cart-source,
html.sb-open body .blockcart .cart-dropdown.js-cart-source {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;

  position: absolute !important;
  top: auto !important;
  right: auto !important;
  bottom: auto !important;
  left: -99999px !important;

  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;

  overflow: hidden !important;
  z-index: -1 !important;
  transform: none !important;
}

/* =========================================================
   2. OVERLAY
   ========================================================= */

body .sb-overlay {
  background: rgba(17, 17, 17, 0.46) !important;
  backdrop-filter: blur(3px) !important;
  z-index: 10000 !important;
}

/* =========================================================
   3. SIDEBAR PANEL
   ========================================================= */

body .sb-menu-right {
  width: 390px !important;
  max-width: calc(100vw - 18px) !important;

  background: #ffffff !important;
  border-left: 1px solid var(--ss-border) !important;
  box-shadow: -18px 0 45px rgba(17, 17, 17, 0.12) !important;

  z-index: 10050 !important;
  overflow: hidden !important;
}

body .sb-menu-right #js-cart-sidebar {
  width: 100% !important;
  height: 100vh !important;

  display: flex !important;
  flex-direction: column !important;

  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
}

/* =========================================================
   4. CLOSE BUTTON
   ========================================================= */

body .sb-menu-right .sb-close-btn {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;

  width: 34px !important;
  height: 34px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #ffffff !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;
  box-shadow: none !important;

  color: #111111 !important;
  cursor: pointer !important;
  z-index: 3 !important;

  transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}

body .sb-menu-right .sb-close-btn:hover {
  background: var(--ss-soft) !important;
  border-color: rgba(230, 0, 92, 0.18) !important;
  color: var(--ss-pink) !important;
}

body .sb-menu-right .sb-close-btn i,
body .sb-menu-right .sb-close-btn .material-icons {
  margin: 0 !important;
  color: inherit !important;
  font-size: 22px !important;
  line-height: 1 !important;
}

/* =========================================================
   5. CART HEADER
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .cart-title {
  min-height: 64px !important;
  padding: 0 58px 0 28px !important;

  display: flex !important;
  align-items: center !important;

  background: #ffffff !important;
  border-bottom: 1px solid var(--ss-border) !important;
}

body .sb-menu-right #js-cart-sidebar .cart-title .h4,
body .sb-menu-right #js-cart-sidebar .cart-title p {
  margin: 0 !important;

  color: var(--ss-text) !important;
  font-size: 26px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: -0.04em !important;
  text-align: left !important;
}

/* =========================================================
   6. ITEMS AREA
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .cart-dropdown-wrapper {
  height: 100% !important;

  display: flex !important;
  flex-direction: column !important;

  background: #ffffff !important;
  border: 0 !important;
  box-shadow: none !important;
}

body .sb-menu-right #js-cart-sidebar .cart-items {
  flex: 1 1 auto !important;

  margin: 0 !important;
  padding: 20px 22px !important;

  background: #ffffff !important;
  list-style: none !important;

  overflow-y: auto !important;
  overflow-x: hidden !important;
}

body .sb-menu-right #js-cart-sidebar .cart-product-line {
  position: relative !important;

  margin: 0 0 16px !important;
  padding: 14px 36px 14px 14px !important;

  display: grid !important;
  grid-template-columns: 76px minmax(0, 1fr) !important;
  gap: 14px !important;

  background: #ffffff !important;
  border: 1px solid var(--ss-border) !important;
  border-radius: 18px !important;
  box-shadow: none !important;

  overflow: visible !important;
}

/* =========================================================
   7. PRODUCT IMAGE
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .product-image,
body .sb-menu-right #js-cart-sidebar .zakeke-mini-cart-image {
  width: 76px !important;
  height: 76px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #fafafa !important;
  border: 1px solid #f0f0f0 !important;
  border-radius: 14px !important;

  overflow: hidden !important;
}

body .sb-menu-right #js-cart-sidebar .product-image img,
body .sb-menu-right #js-cart-sidebar .zakeke-mini-cart-image img {
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;

  object-fit: contain !important;
  display: block !important;
}

/* =========================================================
   8. PRODUCT INFO
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .product-infos {
  min-width: 0 !important;
  padding: 0 !important;
}

body .sb-menu-right #js-cart-sidebar .product-name {
  display: block !important;

  margin: 0 0 7px !important;

  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.18 !important;
  font-weight: 850 !important;
  text-decoration: none !important;
}

body .sb-menu-right #js-cart-sidebar .product-name:hover {
  color: var(--ss-pink) !important;
}

body .sb-menu-right #js-cart-sidebar .product-line-info {
  margin: 0 0 3px !important;

  color: var(--ss-muted) !important;
  font-size: 13px !important;
  line-height: 1.25 !important;
}

body .sb-menu-right #js-cart-sidebar .product-line-info .label {
  color: #999999 !important;
  font-weight: 500 !important;
}

body .sb-menu-right #js-cart-sidebar .product-line-info .value {
  color: #222222 !important;
  font-weight: 650 !important;
}

/* =========================================================
   9. QUANTITY
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .product-qty {
  margin: 12px 0 0 !important;
}

body .sb-menu-right #js-cart-sidebar .product-qty-container {
  width: fit-content !important;
  min-width: 96px !important;
  height: 40px !important;

  display: inline-flex !important;
  align-items: center !important;

  background: #f7f7f7 !important;
  border: 1px solid #eeeeee !important;
  border-radius: 12px !important;

  overflow: hidden !important;
}

body .sb-menu-right #js-cart-sidebar .quantity-button {
  width: 32px !important;
  height: 40px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: transparent !important;
  border: 0 !important;

  color: #111111 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 800 !important;

  cursor: pointer !important;
  user-select: none !important;

  transition: background .16s ease, color .16s ease !important;
}

body .sb-menu-right #js-cart-sidebar .quantity-button:hover {
  background: var(--ss-soft) !important;
  color: var(--ss-pink) !important;
}

body .sb-menu-right #js-cart-sidebar .product-qty-input {
  width: 32px !important;
  height: 40px !important;

  padding: 0 !important;

  background: transparent !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;

  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  text-align: center !important;
}

/* =========================================================
   10. PRICE / REMOVE
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .product-price {
  display: inline-block !important;

  margin: 14px 4px 0 0 !important;

  color: #111111 !important;
  font-size: 18px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

body .sb-menu-right #js-cart-sidebar .product-quantity {
  color: var(--ss-muted) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

body .sb-menu-right #js-cart-sidebar .product-remove {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;

  width: 28px !important;
  height: 28px !important;
}

body .sb-menu-right #js-cart-sidebar .remove-from-cart {
  width: 28px !important;
  height: 28px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: #f2f2f2 !important;
  border: 1px solid transparent !important;
  border-radius: 50% !important;

  color: #999999 !important;
  text-decoration: none !important;

  transition: background .16s ease, color .16s ease, border-color .16s ease !important;
}

body .sb-menu-right #js-cart-sidebar .remove-from-cart:hover {
  background: var(--ss-soft) !important;
  border-color: rgba(230, 0, 92, 0.22) !important;
  color: var(--ss-pink) !important;
}

body .sb-menu-right #js-cart-sidebar .remove-from-cart .material-icons {
  margin: 0 !important;
  padding: 0 !important;

  color: inherit !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

/* =========================================================
   11. BOTTOM / TOTALS
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .cart-bottom {
  flex: 0 0 auto !important;

  margin: auto 0 0 !important;
  padding: 22px 28px 26px !important;

  background: #fafafa !important;
  border-top: 1px solid var(--ss-border) !important;
  box-shadow: none !important;
}

body .sb-menu-right #js-cart-sidebar .cart-subtotals {
  margin: 0 0 14px !important;
}

body .sb-menu-right #js-cart-sidebar .total-line {
  margin: 0 0 12px !important;

  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 16px !important;

  color: #111111 !important;
  font-size: 15px !important;
  line-height: 1.2 !important;
}

body .sb-menu-right #js-cart-sidebar .total-line .label {
  color: #111111 !important;
  font-weight: 600 !important;
}

body .sb-menu-right #js-cart-sidebar .total-line .value,
body .sb-menu-right #js-cart-sidebar .total-line .price {
  color: #111111 !important;
  font-weight: 850 !important;
}

body .sb-menu-right #js-cart-sidebar hr {
  margin: 14px 0 16px !important;
  border: 0 !important;
  border-top: 1px solid #e9e9e9 !important;
}

body .sb-menu-right #js-cart-sidebar .cart-total {
  margin: 0 0 20px !important;
}

body .sb-menu-right #js-cart-sidebar .cart-total .label {
  color: #111111 !important;
  font-size: 14px !important;
  font-weight: 850 !important;
  text-transform: uppercase !important;
  letter-spacing: .02em !important;
}

body .sb-menu-right #js-cart-sidebar .cart-total .price-total,
body .sb-menu-right #js-cart-sidebar .cart-total .value {
  color: #111111 !important;
  font-size: 20px !important;
  font-weight: 950 !important;
}

/* =========================================================
   12. CHECKOUT BUTTON
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .cart-action {
  margin: 0 !important;
}

body .sb-menu-right #js-cart-sidebar .cart-action .btn,
body .sb-menu-right #js-cart-sidebar .cart-action .btn-primary {
  width: 100% !important;
  min-height: 54px !important;

  padding: 0 18px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  background: linear-gradient(135deg, #e6005c 0%, #f04b8c 48%, #ff8a00 100%) !important;
  border: 0 !important;
  border-radius: 14px !important;
  box-shadow: none !important;

  color: #ffffff !important;
  font-size: 13px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  letter-spacing: .01em !important;
  text-align: center !important;
  text-decoration: none !important;

  cursor: pointer !important;

  transition: transform .16s ease, filter .16s ease !important;
}

body .sb-menu-right #js-cart-sidebar .cart-action .btn:hover,
body .sb-menu-right #js-cart-sidebar .cart-action .btn-primary:hover {
  filter: brightness(1.03) !important;
  transform: translateY(-1px) !important;
}

body .sb-menu-right #js-cart-sidebar .caret-right {
  display: none !important;
}

/* =========================================================
   13. MOBILE
   ========================================================= */

@media (max-width: 767px) {
  body .sb-menu-right {
    width: 100vw !important;
    max-width: 100vw !important;
  }

  body .sb-menu-right #js-cart-sidebar .cart-title {
    min-height: 60px !important;
    padding-left: 20px !important;
  }

  body .sb-menu-right #js-cart-sidebar .cart-title .h4,
  body .sb-menu-right #js-cart-sidebar .cart-title p {
    font-size: 24px !important;
  }

  body .sb-menu-right #js-cart-sidebar .cart-items {
    padding: 16px !important;
  }

  body .sb-menu-right #js-cart-sidebar .cart-product-line {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 12px !important;

    padding: 12px 34px 12px 12px !important;
    border-radius: 16px !important;
  }

  body .sb-menu-right #js-cart-sidebar .product-image,
  body .sb-menu-right #js-cart-sidebar .zakeke-mini-cart-image {
    width: 68px !important;
    height: 68px !important;
    border-radius: 12px !important;
  }

  body .sb-menu-right #js-cart-sidebar .cart-bottom {
    padding: 18px 18px 22px !important;
  }

  body .sb-menu-right #js-cart-sidebar .cart-action .btn,
  body .sb-menu-right #js-cart-sidebar .cart-action .btn-primary {
    min-height: 52px !important;
    border-radius: 13px !important;
    font-size: 12px !important;
  }
}
/* =========================================================
   CART SIDEBAR — FIX WHITE HIGHLIGHT ON TOTAL ROWS
   Убираем белую плашку у строки Produkty / Wysyłka
   ========================================================= */

body .sb-menu-right #js-cart-sidebar .cart-bottom,
body .sb-menu-right #js-cart-sidebar .cart-bottom * {
  box-shadow: none !important;
}

body .sb-menu-right #js-cart-sidebar .cart-bottom {
  background: #fafafa !important;
  border-top: 1px solid #eeeeee !important;
}

/* Все строки итогов — прозрачные, без отдельных белых фонов */
body .sb-menu-right #js-cart-sidebar .cart-bottom .cart-subtotals,
body .sb-menu-right #js-cart-sidebar .cart-bottom .cart-summary-line,
body .sb-menu-right #js-cart-sidebar .cart-bottom .subtotal,
body .sb-menu-right #js-cart-sidebar .cart-bottom .cart-summary-subtotals-container,
body .sb-menu-right #js-cart-sidebar .cart-bottom .total-line {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* Лейблы и цены ровные */
body .sb-menu-right #js-cart-sidebar .cart-bottom .label,
body .sb-menu-right #js-cart-sidebar .cart-bottom .value,
body .sb-menu-right #js-cart-sidebar .cart-bottom .price {
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
}

/* Убираем возможные псевдо-плашки темы */
body .sb-menu-right #js-cart-sidebar .cart-bottom .cart-summary-line::before,
body .sb-menu-right #js-cart-sidebar .cart-bottom .cart-summary-line::after,
body .sb-menu-right #js-cart-sidebar .cart-bottom .subtotal::before,
body .sb-menu-right #js-cart-sidebar .cart-bottom .subtotal::after,
body .sb-menu-right #js-cart-sidebar .cart-bottom .total-line::before,
body .sb-menu-right #js-cart-sidebar .cart-bottom .total-line::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  box-shadow: none !important;
}
