/* WooCommerce Blocks — koszyk (/koszyk/) i kasa (/kasa/) */

.sec-wc-blocks-page .sec-page-shell__body,
.sec-wc-blocks-page .sec-prose {
  max-width: none;
  width: 100%;
}

.sec-wc-blocks-inner {
  width: 100%;
  max-width: var(--sec-max);
  margin: 0 auto;
}

.sec-wc-blocks-page .alignwide {
  max-width: 100%;
  width: 100%;
}

/* ── Kolory i formularze (bez psucia layoutu WC) ── */
.sec-wc-blocks-page .wc-block-components-text-input label,
.sec-wc-blocks-page .wc-block-components-textarea label,
.sec-wc-blocks-page .wc-block-components-combobox label,
.sec-wc-blocks-page .wc-block-components-checkbox .wc-block-components-checkbox__label,
.sec-wc-blocks-page .wc-block-components-radio-control__label,
.sec-wc-blocks-page .wc-block-components-radio-control__option-layout {
  color: var(--color-text);
  font-size: 0.875rem;
}

.sec-wc-blocks-page .wc-block-components-text-input input,
.sec-wc-blocks-page .wc-block-components-textarea textarea,
.sec-wc-blocks-page .wc-block-components-combobox .wc-block-components-combobox-control input,
.sec-wc-blocks-page .wc-block-components-select select,
.sec-wc-blocks-page .wc-block-components-form .input-text {
  width: 100%;
  box-sizing: border-box;
  padding: 0.625rem 0.875rem;
  border-radius: 0.5rem;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  font-family: inherit;
  font-size: 0.875rem;
}

.sec-wc-blocks-page .wc-block-components-text-input input:focus,
.sec-wc-blocks-page .wc-block-components-textarea textarea:focus {
  outline: none;
  border-color: color-mix(in srgb, var(--color-accent) 60%, transparent);
}

.sec-wc-blocks-page .wc-block-components-button:not(.is-link),
.sec-wc-blocks-page .wc-block-cart__submit-button,
.sec-wc-blocks-page .wc-block-components-checkout-place-order-button,
.sec-wc-blocks-page .wp-block-button__link.add_to_cart_button {
  background: var(--color-accent) !important;
  color: var(--color-bg) !important;
  border: none !important;
  border-radius: 0.5rem !important;
  font-weight: 600 !important;
  padding: 0.75rem 1.25rem !important;
  box-sizing: border-box;
}

.sec-wc-blocks-page .wc-block-components-button.is-link,
.sec-wc-blocks-page .wc-block-cart-item__remove-link {
  color: var(--color-accent) !important;
}

.sec-wc-blocks-page .wc-block-components-totals-item,
.sec-wc-blocks-page .wc-block-components-order-summary-item {
  color: var(--color-muted);
  border-color: var(--color-border) !important;
}

.sec-wc-blocks-page .wc-block-components-totals-item__label,
.sec-wc-blocks-page .wc-block-components-totals-item__value,
.sec-wc-blocks-page .wc-block-components-order-summary-item__total-price,
.sec-wc-blocks-page .wc-block-formatted-money-amount {
  color: var(--color-text);
}

.sec-wc-blocks-page .wc-block-components-product-price,
.sec-wc-blocks-page .wc-block-components-product-price__value {
  color: var(--color-accent);
}

.sec-wc-blocks-page .wc-block-components-notice-banner {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  color: var(--color-text);
}

.sec-wc-blocks-page .wc-block-components-checkout-step__title,
.sec-wc-blocks-page .wc-block-components-title,
.sec-wc-blocks-page h2.wp-block-heading {
  color: var(--color-text);
}

.sec-wc-blocks-page .wc-block-components-checkout-step__description {
  color: var(--color-muted);
}

.sec-wc-blocks-page .wc-block-components-checkbox__input:checked {
  accent-color: var(--color-accent);
}

.sec-wc-blocks-page .wp-block-separator {
  border-color: var(--color-border);
}

/* ── Layout: wspieramy natywny flex WC, nie zastępujemy go gridem ── */
.sec-wc-blocks-page .wc-block-components-sidebar-layout {
  display: flex !important;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: flex-start;
  width: 100%;
}

.sec-wc-blocks-page .wc-block-checkout__main,
.sec-wc-blocks-page .wc-block-cart__main {
  flex: 1 1 28rem;
  min-width: min(100%, 28rem);
  max-width: 100%;
}

.sec-wc-blocks-page .wc-block-checkout__sidebar,
.sec-wc-blocks-page .wc-block-cart__sidebar {
  flex: 1 1 20rem;
  min-width: min(100%, 20rem);
  max-width: 100%;
}

@media (min-width: 960px) {
  .sec-wc-blocks-page .wc-block-checkout__main,
.sec-wc-blocks-page .wc-block-cart__main {
    flex: 1 1 0;
    min-width: 0;
    max-width: calc(100% - 22rem);
  }

  .sec-wc-blocks-page .wc-block-checkout__sidebar,
  .sec-wc-blocks-page .wc-block-cart__sidebar {
    flex: 0 0 22rem;
    width: 22rem;
    min-width: 22rem;
    max-width: 22rem;
  }
}

/* Karty — tylko logiczne sekcje, nie cały layout */
.sec-wc-blocks-page .wc-block-checkout__main .wc-block-components-checkout-step,
.sec-wc-blocks-page .wc-block-cart-items,
.sec-wc-blocks-page .wc-block-cart__sidebar,
.sec-wc-blocks-page .wc-block-checkout__sidebar .wc-block-components-order-summary {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  padding: 1.25rem;
  box-sizing: border-box;
}

.sec-wc-blocks-page .wc-block-checkout__main .wc-block-components-checkout-step {
  margin-bottom: 1rem;
}

.sec-wc-blocks-page .wc-block-components-radio-control-accordion-option {
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  background: var(--color-bg);
  margin-bottom: 0.5rem;
  padding: 0.75rem 1rem;
}

.sec-wc-blocks-page .wc-block-components-radio-control__option {
  display: flex;
  align-items: flex-start;
  gap: 0.625rem;
}

.sec-wc-blocks-page .wc-block-components-radio-control__input {
  flex-shrink: 0;
  margin-top: 0.2rem;
}

/* Podsumowanie — czytelne linie produktu */
.sec-wc-blocks-page .wc-block-components-order-summary-item {
  display: grid !important;
  grid-template-columns: auto 1fr auto;
  gap: 0.75rem 1rem;
  align-items: start;
  padding: 0.75rem 0;
  word-break: normal;
  overflow-wrap: break-word;
}

.sec-wc-blocks-page .wc-block-components-order-summary-item__description,
.sec-wc-blocks-page .wc-block-components-product-name,
.sec-wc-blocks-page .wc-block-cart-item__product-name {
  color: var(--color-text);
  font-weight: 600;
  line-height: 1.4;
  min-width: 0;
}

.sec-wc-blocks-page .wc-block-components-order-summary-item__total-price {
  white-space: nowrap;
  text-align: right;
}

.sec-wc-blocks-page .wc-block-components-totals-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5rem 0;
}

.sec-wc-blocks-page .wc-block-components-totals-item__label,
.sec-wc-blocks-page .wc-block-components-totals-item__value {
  min-width: 0;
}

.sec-wc-blocks-page .wc-block-components-totals-coupon-link {
  white-space: normal;
  word-break: normal;
}

.sec-wc-blocks-page .wc-block-cart-items__header,
.sec-wc-blocks-page .wc-block-cart-item {
  border-color: var(--color-border) !important;
  color: var(--color-text);
}

.sec-wc-blocks-page .wc-block-cart-item__quantity .wc-block-components-quantity-selector {
  border-radius: 0.375rem;
  border: 1px solid var(--color-border);
  background: var(--color-bg);
}

/* Pusty koszyk — siatka produktów */
.sec-wc-blocks-page .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  list-style: none;
  padding: 0;
  margin: 1.5rem 0 0;
  width: 100%;
}

@media (min-width: 640px) {
  .sec-wc-blocks-page .wc-block-grid.has-4-columns .wc-block-grid__products,
  .sec-wc-blocks-page .wc-block-grid.has-3-columns .wc-block-grid__products,
  .sec-wc-blocks-page .wc-block-grid.has-2-columns .wc-block-grid__products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .sec-wc-blocks-page .wc-block-grid.has-4-columns .wc-block-grid__products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.sec-wc-blocks-page .wc-block-grid__product {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--color-border);
  border-radius: 0.75rem;
  background: var(--color-surface);
  box-sizing: border-box;
  overflow: hidden;
}

.sec-wc-blocks-page .wc-block-grid__product-title {
  color: var(--color-text);
  font-weight: 600;
  margin-top: 0.5rem;
}

.sec-wc-blocks-page .wc-block-grid__product-add-to-cart {
  margin-top: auto;
  padding-top: 0.75rem;
}

.sec-wc-blocks-page .wc-block-grid__product-add-to-cart .wp-block-button__link {
  display: block;
  width: 100%;
  text-align: center;
  box-sizing: border-box;
}

.sec-wc-blocks-page .wc-block-grid__product-image img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

/* Mobile: kolumna — sidebar pod formularzem, pełna szerokość */
@media (max-width: 959px) {
  .sec-wc-blocks-page .wc-block-checkout__sidebar,
  .sec-wc-blocks-page .wc-block-cart__sidebar {
    order: 2;
    flex: 1 1 100%;
    width: 100%;
    min-width: 100%;
    max-width: 100%;
  }

  .sec-wc-blocks-page .wc-block-checkout__main,
  .sec-wc-blocks-page .wc-block-cart__main {
    order: 1;
    max-width: 100%;
  }
}
