/* ===================================================================
   Cart Page Styling (Figma: node 1:1631)
   WooCommerce Blocks — Cart
   =================================================================== */

/* Override theme's 1140px max-width on non-Elementor pages */
body.woocommerce-cart .site-main {
    max-width: 1440px !important;
    width: 100% !important;
}
body.woocommerce-cart .page-content {
    max-width: 100% !important;
}
body.woocommerce-cart .page-header {
    max-width: 1440px !important;
    width: 100% !important;
}
body.woocommerce-cart .page-header .entry-title {
    max-width: 1440px !important;
}

/* Reset alignwide negative margins */
.wp-block-woocommerce-cart.alignwide {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
}

/* Page layout — px-80 padding, pb-150 */
.wc-block-cart {
    padding: 0 80px 150px !important;
    max-width: 1440px !important;
    margin: 0 auto !important;
}
/* Remove WC's own side padding on sidebar-layout to avoid double-padding */
.wc-block-cart .wc-block-components-sidebar-layout {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Page title: "Cart" → should be "Zawartość koszyka" 32px SemiBold */
.wc-block-cart .wp-block-woocommerce-cart {
    padding: 0 !important;
}

/* Two-column layout: gap 48px */
.wc-block-cart .wc-block-components-sidebar-layout {
    gap: 48px !important;
}

/* Left column (cart items) — ~55% */
.wc-block-cart .wc-block-cart__main.wc-block-components-main {
    flex: 1.2 1 0% !important;
    width: auto !important;
}

/* Right column (summary) — ~45% */
.wc-block-cart .wc-block-cart__sidebar.wc-block-components-sidebar {
    flex: 1 1 0% !important;
    width: auto !important;
    max-width: none !important;
}

/* ---- Cart Items ---- */

/* Hide table header row */
.wc-block-cart .wc-block-cart-items__header {
    display: none !important;
}

/* Each cart item row: border-bottom 0.5px #A3A3A3, padding 16px 0 32px */
.wc-block-cart .wc-block-cart-items__row {
    border-bottom: 0.5px solid #A3A3A3 !important;
    border-top: none !important;
    padding: 16px 0 32px !important;
}

/* Product image: 90×90, 12px radius */
.wc-block-cart .wc-block-cart-item__image img {
    width: 90px !important;
    height: 90px !important;
    min-width: 90px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
}
.wc-block-cart .wc-block-cart-item__image {
    width: 90px !important;
    min-width: 90px !important;
}

/* Product name: 16px Inter Medium */
.wc-block-cart .wc-block-components-product-name {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--color-primary) !important;
    text-decoration: none !important;
}

/* Product metadata (SKU, attributes): 14px Regular */
.wc-block-cart .wc-block-components-product-metadata {
    font-size: 14px !important;
}
.wc-block-cart .wc-block-components-product-details__name,
.wc-block-cart .wc-block-components-product-details__value {
    font-size: 14px !important;
    color: var(--color-primary) !important;
}

/* Quantity selector: 0.5px #D9D9D9 border, 4px radius */
.wc-block-cart .wc-block-components-quantity-selector {
    border: 0.5px solid #D9D9D9 !important;
    border-radius: 4px !important;
    overflow: hidden !important;
}
.wc-block-cart .wc-block-components-quantity-selector__input {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--color-primary) !important;
    border: none !important;
    background: transparent !important;
}
.wc-block-cart .wc-block-components-quantity-selector__button {
    border: none !important;
    background: transparent !important;
    color: var(--color-primary) !important;
    font-size: 16px !important;
}

/* Price: old price 14px #A0A0A0 strikethrough, current 20px Medium */
.wc-block-cart .wc-block-components-product-price__regular {
    font-size: 14px !important;
    color: #A0A0A0 !important;
    text-decoration: line-through !important;
    letter-spacing: 0.42px !important;
}
.wc-block-cart .wc-block-components-product-price__value {
    font-size: 20px !important;
    font-weight: 500 !important;
    color: var(--color-primary) !important;
    letter-spacing: 0.6px !important;
}
.wc-block-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-end !important;
}

/* Total column price */
.wc-block-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
    font-size: 20px !important;
    font-weight: 500 !important;
    letter-spacing: 0.6px !important;
}

/* Sale badge */
.wc-block-cart .wc-block-components-sale-badge {
    font-size: 12px !important;
    border: 1px solid var(--color-primary) !important;
    border-radius: 4px !important;
    background: transparent !important;
    color: var(--color-primary) !important;
}

/* Remove link: 24px icon */
.wc-block-cart .wc-block-cart-item__remove-link {
    font-size: 14px !important;
    color: var(--color-text-light) !important;
    text-decoration: underline !important;
}

/* ---- Summary Card (right column) ---- */

/* Card: border 1px #EBEBEB, radius 10px, padding 56px 64px */
.wc-block-cart .wc-block-cart__sidebar.wc-block-components-sidebar {
    border: 1px solid #EBEBEB !important;
    border-radius: 10px !important;
    padding: 56px 64px !important;
    background: var(--color-secondary) !important;
}

/* Summary title: "Podsumowanie" 20px Bold #111 */
.wc-block-cart .wc-block-cart__totals-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    color: #111111 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin-bottom: 40px !important;
}

/* Totals rows */
.wc-block-cart .wc-block-components-totals-wrapper {
    border-color: transparent !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
}

/* Subtotal label: "Koszt" 16px Medium */
.wc-block-cart .wc-block-components-totals-item__label {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--color-primary) !important;
    letter-spacing: 0.48px !important;
}
.wc-block-cart .wc-block-components-totals-item__value {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--color-primary) !important;
}

/* Shipping/Discount: 16px Regular #545454 */
.wc-block-cart .wc-block-components-totals-item__description {
    font-size: 16px !important;
    color: #545454 !important;
}

/* Footer total: "Łącznie" Bold 16px, value Bold 18px */
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 16px !important;
    font-weight: 700 !important;
    letter-spacing: 0.48px !important;
}
.wc-block-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 18px !important;
    font-weight: 700 !important;
    letter-spacing: 0.54px !important;
}

/* VAT note: 12px #545454 */
.wc-block-cart .wc-block-components-totals-footer-item-tax-value {
    font-size: 12px !important;
    color: #545454 !important;
}

/* Coupon panel */
.wc-block-cart .wc-block-components-totals-coupon .wc-block-components-panel__button {
    font-size: 14px !important;
    color: var(--color-primary) !important;
}

/* CTA button: "Przejdź do płatności" — black bg, 18px Medium, 6px radius, full-width */
.wc-block-cart .wc-block-cart__submit-button.wc-block-components-button {
    background: var(--color-primary) !important;
    color: var(--color-secondary) !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 18px !important;
    font-weight: 500 !important;
    padding: 16px 24px !important;
    text-transform: none !important;
    width: 100% !important;
    text-align: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
}
.wc-block-cart .wc-block-cart__submit-button.wc-block-components-button:hover {
    background: var(--color-text) !important;
    opacity: 0.9 !important;
}

/* Express payment area — hide if empty */
.wc-block-cart .wc-block-cart__payment-options:empty {
    display: none !important;
}

/* ===================================================================
   RESPONSIVE: Cart Page
   =================================================================== */

/* === TABLET (768px - 1024px) === */
@media (max-width: 1024px) {
    /* Reduce padding */
    .wc-block-cart {
        padding: 0 40px 100px !important;
    }

    /* Two columns: reduce gap */
    .wc-block-cart .wc-block-components-sidebar-layout {
        gap: 30px !important;
    }

    /* Summary card: smaller padding */
    .wc-block-cart .wc-block-cart__sidebar.wc-block-components-sidebar {
        padding: 40px !important;
    }
}

/* === MOBILE (<768px) === */
@media (max-width: 768px) {
    /* Stack columns vertically */
    .wc-block-cart .wc-block-components-sidebar-layout {
        flex-direction: column !important;
        gap: 30px !important;
    }

    /* Both columns: full width */
    .wc-block-cart .wc-block-cart__main.wc-block-components-main,
    .wc-block-cart .wc-block-cart__sidebar.wc-block-components-sidebar {
        flex: 1 1 100% !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Reduce page padding */
    .wc-block-cart {
        padding: 0 20px 60px !important;
    }

    /* Summary card: smaller padding */
    .wc-block-cart .wc-block-cart__sidebar.wc-block-components-sidebar {
        padding: 24px !important;
    }

    /* Cart item: adjust layout for mobile */
    .wc-block-cart .wc-block-cart-items__row {
        padding: 12px 0 20px !important;
    }

    /* Product image: smaller on mobile */
    .wc-block-cart .wc-block-cart-item__image img,
    .wc-block-cart .wc-block-cart-item__image {
        width: 70px !important;
        height: 70px !important;
        min-width: 70px !important;
    }

    /* Product name: smaller */
    .wc-block-cart .wc-block-components-product-name {
        font-size: 14px !important;
    }

    /* Price: smaller */
    .wc-block-cart .wc-block-components-product-price__value,
    .wc-block-cart .wc-block-cart-item__total .wc-block-formatted-money-amount {
        font-size: 16px !important;
    }

    /* Summary title: smaller */
    .wc-block-cart .wc-block-cart__totals-title {
        font-size: 18px !important;
        margin-bottom: 24px !important;
    }

    /* CTA button: full width */
    .wc-block-cart .wc-block-cart__submit-button.wc-block-components-button {
        padding: 14px 20px !important;
        font-size: 16px !important;
    }

    /* Page title */
    .woocommerce-cart .entry-title {
        font-size: 24px !important;
    }
}
