.ncw-box {
  clear: both;
  min-width: 0;
  margin: 18px 0;
  padding: 18px;
  border: 1px solid #e4d8f5;
  border-radius: 12px;
  background: #faf7fe;
  color: #242424;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.55;
  box-sizing: border-box;
  text-align: left;
}
.ncw-box legend, .ncw-box > strong {
  color: #54248d;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-weight: 600;
}
.ncw-box p { margin: 8px 0 12px; }
.ncw-label { display: block; margin: 8px 0 5px; font-weight: 600; }
.ncw-box select.ncw-select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  height: auto;
  margin: 0;
  padding: 9px 30px 9px 12px;
  border: 1px solid #cbb5e9;
  border-radius: 7px;
  background-color: #fff;
  color: #242424;
  font: inherit;
  box-sizing: border-box;
}
.ncw-select:focus-visible, .ncw-save:focus-visible {
  outline: 3px solid #8c4ee5;
  outline-offset: 3px;
}
.ncw-box .ncw-small { font-size: 12px; color: #555; }
.ncw-box a { color: #6630a4; text-decoration: underline; }
.ncw-unit + .ncw-unit { margin-top: 12px; }
.ncw-box .button.ncw-save {
  background: #8436de;
  color: #fff;
  border: 0;
  border-radius: 7px;
  padding: 11px 16px;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
  white-space: normal;
}
.ncw-box .button.ncw-save:hover { background: #6925b7; }
.ncw-save:disabled { opacity: .65; cursor: wait; }
.ncw-status { display: block; margin-top: 8px; font-size: 12px; }
.ncw-hint { padding: 12px; background: #faf7fe; border-left: 3px solid #8436de; }
.ncw-panel { clear: both; min-width: 0; margin: 24px 0; text-align: left; }
.ncw-panel h2 { margin: 0 0 10px; font: 600 21px/1.35 Poppins, sans-serif; color: #242424; }
.ncw-panel-intro, .ncw-panel-terms, .ncw-checkout-status { font-size: 13px; line-height: 1.6; }
.ncw-panel-intro { margin: 0 0 16px; color: #555; }
.ncw-panel-terms { margin: 14px 0 0; color: #555; }
.ncw-panel-terms a { color: #6630a4; text-decoration: underline; }
.ncw-panel .ncw-box { margin: 0 0 12px; padding: 16px; }
.ncw-panel .ncw-product-heading { display: block; margin-bottom: 10px; font-size: 14px; line-height: 1.6; overflow-wrap: anywhere; }
.ncw-panel .ncw-label { font-size: 13px; }
.ncw-panel .ncw-save { margin-top: 12px; }
.ncw-checkout-status { margin: 12px 0 0; color: #54248d; }
#ncw-checkout-panel:empty { display: none; }
#ncw-checkout-panel.ncw-pending .ncw-checkout-item { opacity: .7; pointer-events: none; }

/* Keep classic WooCommerce templates and InPost markup; change presentation only. */
body.ncw-classic-ui .ncw-cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 28px;
  align-items: start;
}
body.ncw-classic-ui .ncw-cart-layout > .woocommerce-cart-form {
  grid-column: 1;
  float: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
  box-sizing: border-box;
}
body.ncw-classic-ui .ncw-cart-layout > .cart-collaterals {
  grid-column: 2;
  float: none !important;
  width: 100% !important;
  min-width: 0;
  margin: 0 !important;
}
body.ncw-classic-ui .ncw-cart-layout > .cart-collaterals .cart_totals,
body.ncw-classic-ui .ncw-cart-layout > .cart-collaterals .cross-sells {
  float: none !important;
  width: 100% !important;
  box-sizing: border-box;
}
body.ncw-classic-ui form.woocommerce-cart-form table.cart {
  table-layout: fixed;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  margin: 0;
}
body.ncw-classic-ui form.woocommerce-cart-form table.cart th,
body.ncw-classic-ui form.woocommerce-cart-form table.cart td {
  padding: 14px 8px;
  vertical-align: top;
  box-sizing: border-box;
}
body.ncw-classic-ui form.woocommerce-cart-form table.cart .product-remove { width: 28px; padding-left: 0; padding-right: 0; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart .product-thumbnail { width: 70px; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart .product-thumbnail img { width: 58px; max-width: 100%; height: auto; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart .product-name { width: auto; overflow-wrap: anywhere; font-size: 14px; line-height: 1.6; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart .product-price { width: 88px; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart .product-quantity { width: 108px; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart .product-subtotal { width: 98px; text-align: right; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart .quantity { max-width: 96px; min-width: 0; margin: 0; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart .quantity .qty { max-width: 40px; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart td.actions { width: auto; padding: 18px 0; }
body.ncw-classic-ui form.woocommerce-cart-form table.cart td.actions .coupon { max-width: 100%; }
body.ncw-classic-ui form.woocommerce-cart-form .ncw-service-row { background: #faf7fe; }
body.ncw-classic-ui form.woocommerce-cart-form .ncw-service-row .product-name { font-size: 12px; }
body.ncw-classic-ui form.woocommerce-cart-form .ncw-service-row .product-quantity { font-size: 12px; }
body.ncw-classic-ui .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: block; width: 100%; box-sizing: border-box; white-space: normal;
  padding: 14px 12px; text-align: center; line-height: 1.4;
}

/* Shipping occupies a full-width row, instead of the narrow totals column. */
body.woocommerce-checkout.ncw-classic-ui #order_review { width: 100%; min-width: 0; }
body.woocommerce-checkout.ncw-classic-ui .woocommerce-checkout-review-order-table { width: 100%; table-layout: fixed; }
body.woocommerce-checkout.ncw-classic-ui .woocommerce-checkout-review-order-table .product-name { width: 65%; overflow-wrap: anywhere; }
body.woocommerce-checkout.ncw-classic-ui .woocommerce-checkout-review-order-table .product-total { width: 35%; }
body.woocommerce-checkout.ncw-classic-ui .woocommerce-checkout-review-order-table tfoot { display: table-row-group; }
body.woocommerce-checkout.ncw-classic-ui .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals,
body.woocommerce-checkout.ncw-classic-ui .woocommerce-checkout-review-order-table tr.shipping {
  display: table-row !important;
}
/* JS preserves shipping controls and puts their original cell across both columns. */
body.woocommerce-checkout.ncw-classic-ui .ncw-shipping-fullcell { padding: 18px !important; }
body.woocommerce-checkout.ncw-classic-ui .ncw-shipping-title { display: block; margin-bottom: 12px; color: #242424; font-weight: 600; }
body.woocommerce-checkout.ncw-classic-ui ul#shipping_method {
  display: grid; grid-template-columns: 1fr; gap: 10px;
  width: 100%; margin: 0 !important; padding: 0 !important; list-style: none;
}
body.woocommerce-checkout.ncw-classic-ui ul#shipping_method li {
  position: relative; display: block; width: 100%; min-width: 0;
  margin: 0 !important; padding: 14px 14px 14px 44px !important;
  border: 1px solid #e3e3e8; border-radius: 9px;
  background: #fff; text-align: left; box-sizing: border-box;
}
body.woocommerce-checkout.ncw-classic-ui ul#shipping_method li input[type="radio"] {
  position: absolute; left: 14px; top: 18px; float: none;
  margin: 0 !important; width: 18px; height: 18px;
}
body.woocommerce-checkout.ncw-classic-ui ul#shipping_method li label {
  display: inline; font-size: 14px; line-height: 1.6; white-space: normal;
}
body.woocommerce-checkout.ncw-classic-ui ul#shipping_method li button,
body.woocommerce-checkout.ncw-classic-ui ul#shipping_method li .button {
  max-width: 100%; margin-top: 10px; white-space: normal; box-sizing: border-box; line-height: 1.4;
}

@media (max-width: 1100px) {
  body.ncw-classic-ui .ncw-cart-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  body.ncw-classic-ui .ncw-cart-layout > .cart-collaterals { grid-column: 1; }
}
@media (max-width: 768px) {
  .ncw-box { padding: 14px; }
  .ncw-cart { width: 100%; }
  .ncw-box select.ncw-select { font-size: 16px; }
  .ncw-box .button.ncw-save { width: 100%; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart,
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tbody { display: block; width: 100%; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart thead { display: none; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item {
    display: grid; grid-template-columns: 64px minmax(0, 1fr) 28px;
    gap: 10px; padding: 14px; margin: 0 0 14px; width: 100%;
    border: 1px solid #e6e2ed; border-radius: 12px; box-sizing: border-box;
  }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item td {
    display: block !important; width: auto !important; padding: 0 !important;
    border: 0; background: transparent; text-align: left !important;
    font-size: 14px; line-height: 1.6; min-width: 0;
  }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item td::before {
    float: none !important; color: #666; font-weight: 500;
  }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item .product-thumbnail { grid-column: 1; grid-row: 1; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item .product-name { grid-column: 2; grid-row: 1; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item .product-remove { grid-column: 3; grid-row: 1; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.ncw-service-row .product-thumbnail { display: none !important; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.ncw-service-row .product-name { grid-column: 1 / -1; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item .product-thumbnail::before,
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item .product-name::before,
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item .product-remove::before { display: none !important; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item td.product-price,
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item td.product-quantity,
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item td.product-subtotal {
    grid-column: 1 / -1; display: flex !important; align-items: center; justify-content: space-between; gap: 12px;
  }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item td.product-price::before { content: 'Cena za sztukę'; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item td.product-quantity::before { content: 'Ilość'; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr.cart_item td.product-subtotal::before { content: 'Razem'; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart tr:not(.cart_item) { display: block; width: 100%; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart td.actions { display: block !important; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart td.actions::before { display: none !important; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart td.actions .coupon { float: none; display: flex; flex-wrap: wrap; gap: 8px; width: 100%; margin-bottom: 12px; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart td.actions .coupon input.input-text { flex: 1 1 120px; width: auto !important; margin: 0 !important; min-height: 42px; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart td.actions .coupon button { flex: 1 1 150px; width: auto !important; margin: 0 !important; white-space: normal; }
  body.ncw-classic-ui form.woocommerce-cart-form table.cart td.actions > button { float: none; width: 100% !important; white-space: normal; }
  body.woocommerce-checkout.ncw-classic-ui .woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout.ncw-classic-ui .woocommerce-checkout-review-order-table td { padding: 12px 10px; font-size: 14px; vertical-align: top; }
}
