/* =========================
   Cart & Checkout Customization
   Modern cart sidebar style with progress bar
   ========================= */

/* Hide shipping options in cart page */
body.woocommerce-cart .woocommerce-shipping-calculator,
body.woocommerce-cart .shipping-calculator-form,
body.woocommerce-cart table.shop_table tr.shipping,
body.woocommerce-cart .cart_totals tr.shipping,
body.woocommerce-cart #shipping_method {
  display: none !important;
}

/* Cart page layout - wrapper for two columns */
.woocommerce-cart .woocommerce,
.woocommerce-cart .u-cart {
  max-width: 1140px !important;
  margin: 30px auto 0 auto !important;
  padding: 0 20px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Nicepage cart wrapper override */
.woocommerce-cart .u-cart-products-table,
.woocommerce-cart .u-cart,
.woocommerce-cart .u-cart-1 {
  width: 100% !important;
  max-width: 100% !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Remove double shadows */
.woocommerce-cart .u-sheet-1,
.woocommerce-cart .u-section-1 {
  box-shadow: none !important;
}

/* Two column layout for cart and totals */
.woocommerce-cart .woocommerce > div:not(.recommended-products) {
  display: inline-block !important;
  vertical-align: top !important;
}

.woocommerce-cart .woocommerce-cart-form {
  width: 100% !important;
  display: block !important;
  padding-right: 0 !important;
  margin-bottom: 30px !important;
}

.woocommerce-cart .cart-collaterals {
  width: 100% !important;
  display: block !important;
  position: relative !important;
  float: none !important;
  margin-left: 0 !important;
}

/* Transform table into modern card layout */
.woocommerce-cart table.shop_table,
.woocommerce-cart-form table.shop_table,
.woocommerce-cart .u-table.u-table-responsive,
.woocommerce-cart .u-cart-products-table,
.woocommerce-cart table.u-table-entity {
  display: block !important;
  border: none !important;
  background: #fff !important;
  border-radius: 10px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06) !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 10px 0 !important;
  overflow: visible !important;
  table-layout: auto !important;
}

/* Ukryj naglówki tabeli */
.woocommerce-cart table.shop_table thead,
.woocommerce-cart-form table.shop_table thead,
.woocommerce-cart thead,
.woocommerce-cart-form thead {
  display: none !important;
}

.woocommerce-cart table.shop_table tbody,
.woocommerce-cart-form table.shop_table tbody {
  display: block !important;
  border: none !important;
  width: 100% !important;
}

/* Cart title styling */
.woocommerce-cart h2,
.woocommerce-cart .cart-title {
  font-size: 24px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  margin-bottom: 30px !important;
}

/* Ukryj sekcję kuponu i przycisk update cart poza białym boxem */
.woocommerce-cart .coupon,
.woocommerce-cart-form .coupon,
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart-form button[name="update_cart"],
.woocommerce-cart .actions .coupon,
.woocommerce-cart-form .actions .coupon {
  display: none !important;
}

/* Free shipping progress bar - wyrównany z białym boxem */
.free-shipping-notice,
.woocommerce-cart .free-shipping-progress {
  background: #000 !important;
  color: #fff !important;
  padding: 15px 30px !important;
  margin: 20px 0 30px 0 !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  text-align: center !important;
  font-weight: 500 !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Product items in cart - no table look */
.woocommerce-cart .cart_item,
.woocommerce-cart-form .cart_item,
.woocommerce-cart-form tbody tr,
.woocommerce-cart table.shop_table tbody tr,
.woocommerce-cart .woocommerce-cart-form__cart-item {
  padding: 40px 50px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  background: transparent !important;
  position: relative !important;
}

.woocommerce-cart .cart_item:last-child,
.woocommerce-cart-form tbody tr:last-child,
.woocommerce-cart table.shop_table tbody tr:last-child {
  border-bottom: none !important;
}

.woocommerce-cart .cart_item td,
.woocommerce-cart-form tbody tr td,
.woocommerce-cart table.shop_table tbody tr td {
  display: table-cell !important;
  border: none !important;
  padding: 0 !important;
  text-align: left !important;
  vertical-align: middle !important;
}

/* Cart totals table cells - widoczne i wyśrodkowane */
.woocommerce-cart .cart_totals td,
.woocommerce-cart .cart_totals th {
  display: table-cell !important;
  padding: 12px 15px !important;
  text-align: left !important;
  vertical-align: middle !important;
  border: none !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.woocommerce-cart .cart_totals td {
  text-align: right !important;
  font-weight: 600 !important;
}

.woocommerce-cart .cart_totals th {
  font-weight: 600 !important;
  color: #1a1a1a !important;
}

/* Wymuszenie widoczności cen w podsumowaniu */
.woocommerce-cart .cart_totals .woocommerce-Price-amount,
.woocommerce-cart .cart_totals bdi,
.woocommerce-cart .cart_totals span,
.woocommerce-cart .cart_totals .amount {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 16px !important;
  color: #1a1a1a !important;
}

.woocommerce-cart .cart_totals .woocommerce-Price-currencySymbol {
  display: inline !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* First column - product with image and name */
.woocommerce-cart .cart_item td:first-child,
.woocommerce-cart-form tbody tr td:first-child,
.woocommerce-cart table.shop_table tbody tr td:first-child {
  display: table-cell !important;
  vertical-align: middle !important;
  position: relative !important;
  padding-right: 40px !important;
  width: auto !important;
}

.woocommerce-cart .cart_item td:first-child > * {
  display: inline-block !important;
  vertical-align: middle !important;
}

.woocommerce-cart .cart_item .product-thumbnail {
  margin-right: 35px !important;
}

/* Quantity column (now 2nd because price is hidden) */
.woocommerce-cart .cart_item td:nth-child(3),
.woocommerce-cart tbody tr td:nth-child(3) {
  display: table-cell !important;
  vertical-align: middle !important;
  text-align: center !important;
  padding: 0 30px !important;
  width: 150px !important;
}

/* Total column (now 3rd position) */
.woocommerce-cart .cart_item td:nth-child(4),
.woocommerce-cart tbody tr td:nth-child(4) {
  display: table-cell !important;
  vertical-align: middle !important;
  text-align: right !important;
  font-weight: 700 !important;
  font-size: 20px !important;
  color: #1a1a1a !important;
  width: 150px !important;
  padding-left: 20px !important;
}

/* Product image - larger */
.woocommerce-cart .cart_item .product-thumbnail {
  flex: 0 0 auto !important;
  display: block !important;
}

.woocommerce-cart .cart_item .product-thumbnail img,
.woocommerce-cart .cart_item img,
.woocommerce-cart .u-cart-product-image {
  width: 280px !important;
  height: 280px !important;
  object-fit: cover !important;
  border-radius: 12px !important;
  display: block !important;
}

/* Remove icon - position relative to first cell */
.woocommerce-cart .cart_item .u-cart-remove-item,
.woocommerce-cart .cart_item .product-remove {
  position: absolute !important;
  left: 10px !important;
  top: 10px !important;
  z-index: 10 !important;
  width: 30px !important;
  height: 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, 0.95) !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  transition: all 0.2s !important;
}

.woocommerce-cart .cart_item .u-cart-remove-item:hover,
.woocommerce-cart .cart_item .product-remove:hover {
  background: rgba(255, 255, 255, 1) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15) !important;
}

/* Product name and details */
.woocommerce-cart .cart_item .product-name,
.woocommerce-cart .u-cart-product-title {
  display: inline-block !important;
  vertical-align: middle !important;
  padding: 0 !important;
  padding-left: 50px !important;
  max-width: calc(100% - 365px) !important;
}

.woocommerce-cart .cart_item .product-name a,
.woocommerce-cart .u-cart-product-title a,
.woocommerce-cart h2.u-cart-product-title {
  font-size: 20px !important;
  font-weight: 600 !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
  line-height: 1.5 !important;
  margin: 0 !important;
  display: inline-block !important;
  writing-mode: horizontal-tb !important;
  word-wrap: break-word !important;
}

.woocommerce-cart .cart_item .product-name .variation {
  font-size: 13px !important;
  color: #666 !important;
  margin-top: 5px !important;
}

/* Quantity selector */
.woocommerce-cart .cart_item .product-quantity {
  flex: 0 0 80px !important;
  margin: 0 10px !important;
}

.woocommerce-cart .cart_item .quantity input {
  width: 60px !important;
  text-align: center !important;
  padding: 8px !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 4px !important;
}

/* Price - hide unit price, show only subtotal */
.woocommerce-cart .cart_item .product-price,
.woocommerce-cart .cart_item td:nth-child(2),
.woocommerce-cart tbody tr td:nth-child(2),
.woocommerce-cart .u-cart-product-price {
  display: none !important;
}

.woocommerce-cart .cart_item .product-subtotal {
  flex: 0 0 120px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  text-align: right !important;
  min-width: 100px !important;
}

/* Remove button */
.woocommerce-cart .cart_item .product-remove {
  flex: 0 0 auto !important;
}

.woocommerce-cart .cart_item .product-remove a {
  color: #999 !important;
  font-size: 20px !important;
  text-decoration: none !important;
}

/* Cross-sells section - "Może zainteresuje Cię" */
.cross-sells {
  margin-top: 40px !important;
  padding: 20px 0 !important;
}

.cross-sells h2 {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin-bottom: 20px !important;
}

.cross-sells .product {
  background: #fff !important;
  padding: 15px !important;
  margin-bottom: 15px !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.08) !important;
  display: flex !important;
  gap: 15px !important;
}

.cross-sells .product img {
  max-width: 80px !important;
  border-radius: 4px !important;
}

.cross-sells .product .button {
  background: #000 !important;
  color: #fff !important;
  padding: 10px 20px !important;
  border-radius: 4px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

/* Recommended products section - "Polecamy" */
.recommended-products {
  width: 100% !important;
  display: block !important;
  clear: both !important;
  margin-top: 50px !important;
  padding: 30px 0 !important;
  border-top: 1px solid #e8e8e8 !important;
}

.recommended-products h2 {
  font-size: 24px !important;
  font-weight: 600 !important;
  margin-bottom: 30px !important;
  text-align: center !important;
}

.recommended-products-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 30px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}

.recommended-product-item {
  background: #fff !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 8px !important;
  padding: 20px !important;
  text-align: center !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease !important;
}

.recommended-product-item:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1) !important;
}

.recommended-product-item img {
  width: 100% !important;
  height: 250px !important;
  object-fit: cover !important;
  border-radius: 4px !important;
  margin-bottom: 15px !important;
}

.recommended-product-item h3 {
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 10px 0 !important;
  min-height: 45px !important;
}

.recommended-product-item h3 a {
  color: #1a1a1a !important;
  text-decoration: none !important;
}

.recommended-product-item .price {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #00a6c4 !important;
  display: block !important;
  margin: 10px 0 !important;
}

.recommended-product-item .button {
  background: #000 !important;
  color: #fff !important;
  padding: 12px 24px !important;
  border-radius: 4px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  width: 100% !important;
  margin-top: 10px !important;
  transition: background 0.3s ease !important;
  text-decoration: none !important;
  display: inline-block !important;
}

.recommended-product-item .button:hover {
  background: #00a6c4 !important;
}

/* Responsive */
@media (max-width: 992px) {
  .woocommerce-cart .woocommerce {
    flex-direction: column !important;
  }
  
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    flex: 1 1 100% !important;
    width: 100% !important;
  }
  
  .woocommerce-cart .cart-collaterals {
    position: relative !important;
    margin-top: 30px !important;
  }
}

@media (max-width: 768px) {
  .recommended-products-grid {
    grid-template-columns: 1fr !important;
  }
  
  .woocommerce-cart .cart_item {
    flex-wrap: wrap !important;
  }
  
  .woocommerce-cart .cart_item .product-thumbnail {
    flex: 0 0 80px !important;
  }
  
  .woocommerce-cart .cart_item img {
    width: 80px !important;
    height: 80px !important;
  }
}

/* Clean cart layout - focus on products */
.woocommerce-cart-form {
  margin-bottom: 30px !important;
}

.cart_totals {
  background: #f9f9f9 !important;
  padding: 20px !important;
  border-radius: 4px !important;
}

/* Product badges - OKAZJA and discount */
.woocommerce-cart .cart_item .product-name .woocommerce-Price-amount {
  display: inline-block !important;
  margin-left: 10px !important;
}

.woocommerce-cart .onsale,
.woocommerce-cart .product-badge {
  display: inline-block !important;
  background: #8b00ff !important;
  color: #fff !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin-left: 10px !important;
  text-transform: uppercase !important;
}

/* "Dobierz produkty" button */
.woocommerce-cart .cart-actions {
  text-align: center !important;
  margin-top: 20px !important;
}

.woocommerce-cart .cart-actions a,
.woocommerce-cart .return-to-shop a {
  display: inline-block !important;
  color: #00a6c4 !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  padding: 10px 20px !important;
  border: 1px solid #00a6c4 !important;
  border-radius: 4px !important;
  transition: all 0.3s ease !important;
}

.woocommerce-cart .cart-actions a:hover {
  background: #00a6c4 !important;
  color: #fff !important;
}

/* Cart totals box */
.woocommerce-cart .cart_totals {
  background: #fff !important;
  padding: 30px !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.08) !important;
  margin-top: 0 !important;
  width: 100% !important;
}

.woocommerce-cart .cart_totals h2 {
  font-size: 20px !important;
  margin-bottom: 20px !important;
  font-weight: 600 !important;
}

.woocommerce-cart .cart_totals table {
  width: 100% !important;
  border-collapse: collapse !important;
}

.woocommerce-cart .cart_totals tbody tr {
  display: table-row !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.woocommerce-cart .cart_totals tbody tr:last-child {
  border-bottom: none !important;
  font-size: 18px !important;
}

/* Nadpisanie Nicepage dla podsumowania */
.woocommerce-cart .cart_totals .u-table-cell,
.woocommerce-cart .cart_totals .u-border-2 {
  display: table-cell !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.woocommerce-cart .cart_totals .u-table-cell * {
  visibility: visible !important;
  opacity: 1 !important;
  display: inline !important;
}

/* Proceed to checkout button styling */
.wc-proceed-to-checkout .checkout-button {
  background: #000 !important;
  color: #fff !important;
  padding: 18px 40px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  width: 100% !important;
  transition: background 0.3s ease !important;
  text-decoration: none !important;
  display: block !important;
  text-align: center !important;
}

.wc-proceed-to-checkout .checkout-button:hover {
  background: #00a6c4 !important;
}

/* Keep shipping visible ONLY on checkout page */
.woocommerce-checkout .woocommerce-shipping-methods,
.woocommerce-checkout #shipping_method {
  display: block !important;
}

/* ===========================
   CHECKOUT PAGE CENTERING
   =========================== */

/* Remove all side margins and center */
.woocommerce-checkout body,
.woocommerce-checkout #page,
.woocommerce-checkout .site-inner {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Center the checkout container */
.woocommerce-checkout .u-section-1 {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 auto !important;
}

.woocommerce-checkout .u-sheet-1 {
  max-width: 1140px !important;
  width: 1140px !important;
  margin: 30px auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Center checkout blocks container */
.woocommerce-checkout .u-checkout-1 {
  margin-left: 0 !important;
  margin-right: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
}

.woocommerce-checkout .u-checkout-blocks-container {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 30px !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout .u-checkout-billing-details-block,
.woocommerce-checkout .u-checkout-totals-block {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
