/* ================================================================
   MC Woo Cart – override & reset dla WooCommerce Cart Block
   ================================================================ */

/* ── Podgląd edytora Elementora ─────────────────────────────── */
.mc-woo-block-editor-preview {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 180px;
    padding: 32px;
    background: #f7f7f7;
    border: 2px dashed #d5d5d5;
    border-radius: 6px;
    text-align: center;
    color: #666;
    box-sizing: border-box;
}

.mc-woo-block-editor-preview__icon {
    font-size: 36px;
    color: #aaa;
}

.mc-woo-block-editor-preview__label {
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

.mc-woo-block-editor-preview__hint {
    font-size: 12px;
    color: #888;
    max-width: 280px;
    line-height: 1.5;
}

/* ── Elementor Flex Container – wymagana reguła szerokości ─────── */
/* Elementor dodaje tę regułę tylko dla własnych widgetów;         */
/* bez niej widget w .e-con ma width:auto i container-type:inline- */
/* size powoduje że blok WC zgłasza szerokość 0 → wąska kolumna.  */
.e-con > .elementor-widget-mc-woo-cart,
.e-con-inner > .elementor-widget-mc-woo-cart {
    width: var(--container-widget-width, 100%);
    --flex-grow: var(--container-widget-flex-grow, 0);
}

/* ── Layout fix w Elementorze ───────────────────────────────── */
.elementor-widget-mc-woo-cart,
.elementor-widget-mc-woo-cart .elementor-widget-container {
    width: 100%;
    box-sizing: border-box;
}

.elementor-widget-mc-woo-cart .wp-block-woocommerce-cart {
    width: 100%;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box;
}

.elementor-widget-mc-woo-cart .wc-block-components-sidebar-layout,
.elementor-widget-mc-woo-cart .wc-block-cart {
    display: flex !important;
    flex-direction: var(--mc-cart-direction, row) !important;
    flex-wrap: var(--mc-cart-wrap, wrap) !important;
    gap: var(--mc-cart-gap-row, 2em) var(--mc-cart-gap-col, 2em) !important;
    align-items: var(--mc-cart-align, flex-start) !important;
    justify-content: var(--mc-cart-justify, flex-start) !important;
    width: 100%;
    box-sizing: border-box;
    container-type: normal !important;
}

.elementor-widget-mc-woo-cart .wp-block-woocommerce-filled-cart-block {
    width: 100%;
    box-sizing: border-box;
}

.elementor-widget-mc-woo-cart .wc-block-components-main,
.elementor-widget-mc-woo-cart .wc-block-cart__main {
    flex: 1 1 var(--mc-cart-main-width, 55%);
    min-width: 0;
    overflow: hidden;
    box-sizing: border-box;
}

.elementor-widget-mc-woo-cart .wc-block-components-sidebar,
.elementor-widget-mc-woo-cart .wc-block-cart__sidebar {
    flex: 0 0 var(--mc-cart-sidebar-width, 30%);
    min-width: 220px;
    box-sizing: border-box;
}

.elementor-widget-mc-woo-cart table.wc-block-cart-items {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* ── Reset marginesów bloku ─────────────────────────────────── */
.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-cart__sidebar {
    min-width: 0;
}

/* ── Opis produktu – ukryty domyślnie (włącz w widgecie) ────── */
.elementor-widget-mc-woo-cart .wc-block-components-product-short-description,
.elementor-widget-mc-woo-cart .wc-block-components-product-metadata__description,
.elementor-widget-mc-woo-cart .wc-block-cart-item__description {
    display: none !important;
}

/* ── Przycisk usuń – ikona trash ────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-item__remove-link button,
.elementor-widget-mc-woo-cart .wc-block-cart-item__remove-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 4px;
    cursor: pointer;
    color: inherit;
    line-height: 1;
}
.elementor-widget-mc-woo-cart .wc-block-cart-item__remove-link svg.mc-trash-icon {
    display: block;
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* ── Tabela sum – separator ─────────────────────────────────── */
.wc-block-components-totals-item {
    border-bottom-style: solid;
}

/* ── Kontrolka ilości (WC Blocks – globalna) ────────────────── */
.wc-block-components-quantity-selector {
    border-style: solid;
}

/* ── Reset obramowań w naszym widgecie ──────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-components-quantity-selector input {
    border: none !important;
    outline: none !important;
}

/* ── Przycisk submit – box-sizing ───────────────────────────── */
.wc-block-cart__submit-button {
    box-sizing: border-box;
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
}

/* ═══════════════════════════════════════════════════════════════
   BELKA KUPONU / AKCJI
═══════════════════════════════════════════════════════════════ */
.mc-cart-coupon-bar {
    width: 100%;
    box-sizing: border-box;
    margin-top: 16px;
    padding: 16px 0 0;
    border-top: 1px solid rgba(0,0,0,.08);
}

.mc-cart-coupon-bar__title {
    margin: 0 0 10px;
    font-size: .9em;
    font-weight: 600;
}

.mc-cart-coupon-bar__row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.mc-cart-coupon-bar__input-group {
    display: flex;
    align-items: center;
    flex: 1 1 220px;
    min-width: 0;
    border: 1px solid #ddd;
    border-radius: 4px;
    overflow: hidden;
    box-sizing: border-box;
}

.mc-cart-coupon-bar__input {
    flex: 1;
    border: none !important;
    outline: none !important;
    padding: 9px 12px;
    font-size: .9em;
    background: transparent;
    min-width: 0;
    box-sizing: border-box;
}

.mc-cart-coupon-bar__apply-btn {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 9px 16px;
    border: none;
    border-left: 1px solid #ddd;
    background: transparent;
    cursor: pointer;
    font-size: .85em;
    font-weight: 600;
    white-space: nowrap;
    transition: background-color 0.2s, color 0.2s;
}

.mc-cart-coupon-bar__apply-btn:hover {
    background-color: rgba(0,0,0,.05);
}

.mc-cart-coupon-bar__print-btn {
    display: flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 14px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    font-size: .9em;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
    white-space: nowrap;
    box-sizing: border-box;
}

.mc-cart-coupon-bar__print-btn:hover {
    background-color: rgba(0,0,0,.05);
}

.mc-cart-coupon-bar__update-btn {
    display: flex;
    width: fit-content;
    align-items: center;
    justify-content: center;
    padding: 9px 18px;
    border: 1px solid currentColor;
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
    font-size: .9em;
    font-weight: 600;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s;
    white-space: nowrap;
    margin-left: auto;
    box-sizing: border-box;
}

.mc-cart-coupon-bar__update-btn:hover {
    background-color: rgba(0,0,0,.06);
}

/* ── Podmień etykiety w sidebar (CSS – React-proof) ─────────── */

/* Subtotal → Wartość zamówienia */
.elementor-widget-mc-woo-cart .wp-block-woocommerce-cart-order-summary-subtotal-block
  .wc-block-components-totals-item__label {
    font-size: 0;
    line-height: 0;
    visibility: hidden;
}
.elementor-widget-mc-woo-cart .wp-block-woocommerce-cart-order-summary-subtotal-block
  .wc-block-components-totals-item__label::before {
    content: 'Wartość zamówienia:';
    font-size: inherit;
    line-height: normal;
    visibility: visible;
    display: block;
    width: 100%;
}

/* Total → Razem do zapłaty */
.elementor-widget-mc-woo-cart .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__label {
    font-size: 0;
    line-height: 0;
    visibility: hidden;
}
.elementor-widget-mc-woo-cart .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__label::before {
    content: 'Razem do zapłaty';
    font-size: inherit;
    line-height: normal;
    visibility: visible;
    display: block;
    width: 100%;
}

/* ── Razem do zapłaty – grid (zawsze jedna linia, etykieta skraca się z ...) ─── */
.elementor-widget-mc-woo-cart .wc-block-components-totals-footer-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    align-items: baseline !important;
    column-gap: 16px;
    width: 100% !important;
    box-sizing: border-box !important;
    border-bottom: none !important;
}
.elementor-widget-mc-woo-cart .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__label {
    grid-column: 1 !important;
    grid-row: 1 !important;
    white-space: normal;
    min-width: 0;
    margin-left: 0 !important;
}
.elementor-widget-mc-woo-cart .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__value {
    grid-column: 2 !important;
    grid-row: 1 !important;
    text-align: right;
    margin-left: 0 !important;
}
.elementor-widget-mc-woo-cart .wc-block-components-totals-footer-item
  .wc-block-components-totals-item__description {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
}

/* ── Ramka nad przyciskiem "Przejdź do płatności" ───────────── */
.elementor-widget-mc-woo-cart .wp-block-woocommerce-proceed-to-checkout-block,
.elementor-widget-mc-woo-cart .wc-block-cart__payment-method {
    border-top: none !important;
}

/* ── Tytuł podsumowania – reset uppercase ───────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart__totals-title {
    text-transform: none !important;
}

/* ── Ukryj natywny formularz kuponu WC (przeniesiony do belki) ── */
.elementor-widget-mc-woo-cart .wp-block-woocommerce-cart-order-summary-coupon-form-block,
.elementor-widget-mc-woo-cart .wc-block-cart-order-summary-coupon-form-block,
.elementor-widget-mc-woo-cart [data-block-name="woocommerce/cart-order-summary-coupon-form-block"] {
    display: none !important;
}

/* ── PHP Cart – flex rows ───────────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-items {
    width: 100%;
}

.elementor-widget-mc-woo-cart .wc-block-cart-items__row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    width: 100%;
    box-sizing: border-box;
}

/* ── Nagłówek – domyślnie tylko linia pod spodem ────────────── */
.elementor-widget-mc-woo-cart .mc-cart-header-row {
    border-top: none !important;
    border-left: none !important;
    border-right: none !important;
    justify-content: var(--mc-cart-hrow-justify, flex-start);
}

/* ── Body rows ──────────────────────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-items__body .wc-block-cart-items__row {
    justify-content: var(--mc-cart-row-justify, flex-start);
}

/* ── Etykiety inline w komórkach (domyślnie ukryte) ─────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-item__product::before,
.elementor-widget-mc-woo-cart .wc-block-cart-item__quantity::before,
.elementor-widget-mc-woo-cart .wc-block-cart-item__total::before,
.elementor-widget-mc-woo-cart .wc-block-cart-item__remove-link::before {
    display: none;
    font-size: var(--mc-cart-cell-label-size, 0.75em);
    color: var(--mc-cart-cell-label-color, currentColor);
    font-weight: var(--mc-cart-cell-label-weight, 600);
    white-space: nowrap;
    margin-bottom: 4px;
}
.elementor-widget-mc-woo-cart .wc-block-cart-item__product::before    { content: var(--mc-cart-label-product, 'Produkt'); }
.elementor-widget-mc-woo-cart .wc-block-cart-item__quantity::before   { content: var(--mc-cart-label-qty, 'Ilość'); }
.elementor-widget-mc-woo-cart .wc-block-cart-item__total::before      { content: var(--mc-cart-label-price, 'Kwota'); }
.elementor-widget-mc-woo-cart .wc-block-cart-item__remove-link::before { content: var(--mc-cart-label-remove, 'Usuń'); }

/* ── Kolumna: Produkt ───────────────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-items__header-product,
.elementor-widget-mc-woo-cart .wc-block-cart-item__product {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: var(--mc-cart-col-product-align, center);
    justify-content: var(--mc-cart-col-product-justify, flex-start);
}

.elementor-widget-mc-woo-cart .wc-block-cart-item__product {
    gap: 12px;
    flex-direction: row;
    align-items: var(--mc-cart-col-product-align, flex-start);
}

.elementor-widget-mc-woo-cart .wc-block-cart-item__image {
    flex-shrink: 0;
}

.elementor-widget-mc-woo-cart .wc-block-cart-item__image img {
    display: block;
}

.elementor-widget-mc-woo-cart .wc-block-cart-item__info {
    min-width: 0;
    flex: 1 1 auto;
}

/* ── Kolumna: Ilość ─────────────────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-items__header-quantity,
.elementor-widget-mc-woo-cart .wc-block-cart-item__quantity {
    flex: 0 0 120px;
    display: flex;
    align-items: var(--mc-cart-col-qty-align, center);
    justify-content: var(--mc-cart-col-qty-justify, center);
}

/* ── Kolumna: Kwota ─────────────────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-items__header-total,
.elementor-widget-mc-woo-cart .wc-block-cart-item__total {
    flex: 0 0 110px;
    white-space: nowrap;
    display: flex;
    align-items: var(--mc-cart-col-price-align, center);
    justify-content: var(--mc-cart-col-price-justify, flex-end);
}

/* ── Kolumna: Usuń ──────────────────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-items__header-remove,
.elementor-widget-mc-woo-cart .wc-block-cart-item__remove-link {
    flex: 0 0 48px;
    display: flex;
    align-items: var(--mc-cart-col-remove-align, center);
    justify-content: var(--mc-cart-col-remove-justify, center);
}

.elementor-widget-mc-woo-cart .wc-block-cart-item__remove-link a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: inherit;
    text-decoration: none;
}

/* ── Brak obramowania pod ostatnim wierszem ─────────────────── */
.elementor-widget-mc-woo-cart .wc-block-cart-items__body .wc-block-cart-items__row:last-child {
    border-bottom: none !important;
}

/* ── Kontrolka ilości ───────────────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-components-quantity-selector {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    box-sizing: border-box;
}

.elementor-widget-mc-woo-cart .wc-block-components-quantity-selector .mc-qty-minus,
.elementor-widget-mc-woo-cart .wc-block-components-quantity-selector .mc-qty-plus {
    background: none;
    border: none;
    border-radius: 2px;
    cursor: pointer;
    width: var(--mc-cart-qty-btn-size, 28px);
    height: var(--mc-cart-qty-btn-size, 28px);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    line-height: 1;
    font-size: var(--mc-cart-qty-icon-size, 16px);
    color: inherit;
    flex-shrink: 0;
}

.elementor-widget-mc-woo-cart .mc-qty-input {
    width: var(--mc-cart-qty-input-width, 40px);
    text-align: center;
    border: none !important;
    outline: none !important;
    background: none;
    -moz-appearance: textfield;
}
.elementor-widget-mc-woo-cart .mc-qty-input::-webkit-outer-spin-button,
.elementor-widget-mc-woo-cart .mc-qty-input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* ── Opcje produktu (dl/dt/dd) ──────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-components-product-metadata dl.variation {
    margin: 4px 0 0;
    padding: 0;
}

.elementor-widget-mc-woo-cart .wc-block-components-product-metadata dl.variation dt,
.elementor-widget-mc-woo-cart .wc-block-components-product-metadata dl.variation dd {
    display: inline;
    margin: 0;
    padding: 0;
}

.elementor-widget-mc-woo-cart .wc-block-components-product-metadata dl.variation dt::after {
    content: ' ';
}

.elementor-widget-mc-woo-cart .wc-block-components-product-metadata dl.variation dd {
    margin-right: 6px;
}

.elementor-widget-mc-woo-cart .wc-block-components-product-metadata dl.variation dd p {
    display: inline;
    margin: 0;
}

/* ── Dostawa – reset headingu WC Blocks ─────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__label,
.elementor-widget-mc-woo-cart .wc-block-components-totals-shipping p,
.elementor-widget-mc-woo-cart .wc-block-components-totals-shipping h1,
.elementor-widget-mc-woo-cart .wc-block-components-totals-shipping h2,
.elementor-widget-mc-woo-cart .wc-block-components-totals-shipping h3 {
    font-size: inherit !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: inherit !important;
}

/* ── Totals sidebar – flex row ──────────────────────────────── */
.elementor-widget-mc-woo-cart .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item) {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto !important;
    align-items: baseline !important;
    column-gap: 16px;
    width: 100% !important;
    box-sizing: border-box !important;
}
.elementor-widget-mc-woo-cart .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item)
  .wc-block-components-totals-item__label {
    grid-column: 1 !important;
    grid-row: 1 !important;
    white-space: normal;
    min-width: 0;
    overflow-wrap: break-word;
    margin-left: 0 !important;
}
.elementor-widget-mc-woo-cart .wc-block-components-totals-item:not(.wc-block-components-totals-footer-item)
  .wc-block-components-totals-item__value {
    grid-column: 2 !important;
    grid-row: 1 !important;
    text-align: right;
    margin-left: 0 !important;
}

/* ═══════════════════════════════════════════════════════════════
   DRUKOWANIE @PRINT – logika główna w JS (mc-print-area)
═══════════════════════════════════════════════════════════════ */
@media print {
    @page { size: A4 portrait; margin: 12mm 16mm; }

    body.mc-printing > *:not(.mc-print-area) {
        display: none !important;
    }
}
