/**
 * Koszyk / Zamowienie / Potwierdzenie - wyglad w stylu strony glownej i karty produktu.
 * Ladowany tylko na tych stronach (app/filters.php). Tylko wyglad - bez zmian w dzialaniu blokow WooCommerce.
 * Selektory z prefiksem body.woocommerce-cart / body.woocommerce-checkout, zeby wygrywaly ze starszymi stylami (app.css, style w wp_head).
 */

body.woocommerce-cart,
body.woocommerce-checkout {
  --nd-dark: #243b38;
  --nd-deep: #354f52;
  --nd-mid: #52796f;
  --nd-soft: #cad2c5;
  --nd-cream: #f5f2ea;
  --nd-gold: #d9b779;
  --nd-card: rgba(255, 255, 255, 0.07);
  --nd-card-border: rgba(255, 255, 255, 0.13);
  --nd-input: rgba(0, 0, 0, 0.18);
  --nd-input-border: rgba(255, 255, 255, 0.24);
  --nd-muted: rgba(255, 255, 255, 0.68);
}

/* ---------- Tlo strony ---------- */
html body.woocommerce-cart,
html body.woocommerce-checkout {
  background:
    radial-gradient(1000px 520px at 90% 0%, rgba(202, 210, 197, 0.16), transparent 60%),
    linear-gradient(175deg, #52796f 0%, #3f6259 35%, #2c4744 75%, #243b38 100%) !important;
  background-attachment: fixed !important;
}
body.woocommerce-cart main,
body.woocommerce-checkout main {
  padding-top: 104px !important;
  padding-bottom: clamp(48px, 7vw, 88px) !important;
}

/* ---------- Naglowek + kroki (partials/page-header) ---------- */
.nd-co-head {
  max-width: 1160px;
  margin: 0 auto clamp(24px, 4vw, 40px);
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px 32px;
  font-family: 'Figtree', system-ui, sans-serif;
}
.nd-co-head h1 {
  margin: 0;
  font-size: clamp(2rem, 4.6vw, 3.4rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: #fff;
}
.nd-co-head p {
  margin: 0.6em 0 0;
  color: var(--nd-muted);
  font-size: 1rem;
}
.nd-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.nd-steps li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  white-space: nowrap;
}
.nd-steps li + li::before {
  content: '';
  width: clamp(16px, 3vw, 36px);
  height: 1px;
  background: rgba(255, 255, 255, 0.3);
}
.nd-steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  font-size: 0.78rem;
  letter-spacing: 0;
}
.nd-steps li.is-done { color: var(--nd-soft); }
.nd-steps li.is-done span { background: rgba(255, 255, 255, 0.14); border-color: transparent; }
.nd-steps li.is-current { color: #fff; }
.nd-steps li.is-current span { background: var(--nd-gold); border-color: var(--nd-gold); color: var(--nd-dark); }
.nd-steps a { color: inherit; text-decoration: none; display: flex; align-items: center; gap: 10px; }
.nd-steps a:hover { color: #fff; }

/* ---------- Szerokosc i uklad ---------- */
body.woocommerce-cart .wp-block-woocommerce-cart,
body.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: 1160px !important;
  margin-top: 0 !important;
  font-family: 'Figtree', system-ui, sans-serif;
  color: #fff;
}

/* ---------- Karty (kroki checkoutu, podsumowanie, tabela koszyka) ---------- */
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-checkout-step,
body.woocommerce-cart .wc-block-cart__main {
  background: var(--nd-card) !important;
  border: 1px solid var(--nd-card-border) !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 60px -40px rgba(0, 0, 0, 0.6) !important;
  padding: clamp(20px, 3vw, 32px) !important;
}
body.woocommerce-cart .wc-block-cart__main {
  align-self: start;
}
body.woocommerce-checkout .wc-block-components-checkout-step {
  margin-bottom: 18px !important;
}
body.woocommerce-cart .wc-block-components-sidebar,
body.woocommerce-checkout .wc-block-components-sidebar {
  position: sticky;
  top: 96px;
}

/* Tytuly krokow i sekcji */
body.woocommerce-checkout .wc-block-components-checkout-step__title,
body.woocommerce-cart .wc-block-cart__totals-title,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
body.woocommerce-checkout .wc-block-components-order-summary__button-text {
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--nd-gold) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__heading {
  margin-bottom: 14px !important;
}
body.woocommerce-checkout .wc-block-components-checkout-step__description {
  color: var(--nd-muted) !important;
  font-size: 0.9rem;
}
body.woocommerce-checkout .wc-block-components-checkout-step__container::after {
  display: none !important; /* linia laczaca numery krokow */
}

/* ---------- Tabela koszyka ---------- */
body.woocommerce-cart .wc-block-cart-items {
  border: 0 !important;
  margin: 0 !important;
}
body.woocommerce-cart .wc-block-cart-items__header th,
body.woocommerce-cart .wc-block-cart-items__header span {
  color: var(--nd-muted) !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border-bottom: 1px solid var(--nd-card-border) !important;
}
body.woocommerce-cart .wc-block-cart-items__row td {
  border-top: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  padding-top: 18px !important;
  padding-bottom: 18px !important;
}
body.woocommerce-cart .wc-block-cart-items__row:last-child td {
  border-bottom: 0 !important;
}
body.woocommerce-cart .wc-block-cart-item__image img,
body.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  border-radius: 6px !important;
  box-shadow: 0 12px 22px -12px rgba(0, 0, 0, 0.6);
  aspect-ratio: 3 / 4.1;
  object-fit: cover;
}
body.woocommerce-cart .wc-block-components-product-name,
body.woocommerce-checkout .wc-block-components-product-name {
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
}
body.woocommerce-cart a.wc-block-components-product-name:hover {
  color: var(--nd-gold) !important;
}
body.woocommerce-cart .wc-block-cart-item__prices,
body.woocommerce-cart .wc-block-components-product-metadata,
body.woocommerce-checkout .wc-block-components-product-metadata {
  color: var(--nd-muted) !important;
  font-size: 0.85rem;
}
body.woocommerce-cart .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
  font-weight: 800 !important;
  font-size: 1.05rem;
}
body.woocommerce-cart .wc-block-components-product-price del,
body.woocommerce-checkout .wc-block-components-product-price del {
  opacity: 0.55;
}
body.woocommerce-cart .wc-block-components-product-badge,
body.woocommerce-cart .wc-block-components-sale-badge,
body.woocommerce-checkout .wc-block-components-sale-badge {
  background: var(--nd-gold) !important;
  color: var(--nd-dark) !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-weight: 800 !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.06em;
  padding: 0.25em 0.7em !important;
}

/* Wybor ilosci */
body.woocommerce-cart .wc-block-components-quantity-selector,
body.woocommerce-checkout .wc-block-components-quantity-selector {
  border: 1px solid var(--nd-input-border) !important;
  border-radius: 999px !important;
  background: var(--nd-input) !important;
  overflow: hidden;
}
body.woocommerce-cart .wc-block-components-quantity-selector::after,
body.woocommerce-checkout .wc-block-components-quantity-selector::after {
  display: none !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector input,
body.woocommerce-checkout .wc-block-components-quantity-selector input {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  background: transparent !important;
  font-weight: 700 !important;
  border: 0 !important;
}
body.woocommerce-cart .wc-block-components-quantity-selector__button,
body.woocommerce-checkout .wc-block-components-quantity-selector__button {
  color: #fff !important;
  background: transparent !important;
  opacity: 0.85;
}
body.woocommerce-cart .wc-block-components-quantity-selector__button:hover,
body.woocommerce-checkout .wc-block-components-quantity-selector__button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  opacity: 1;
}
body.woocommerce-cart .wc-block-cart-item__remove-link {
  color: var(--nd-muted) !important;
  font-size: 0.8rem !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body.woocommerce-cart .wc-block-cart-item__remove-link:hover {
  color: #ffc9c0 !important;
}

/* ---------- Podsumowanie / sumy ---------- */
body.woocommerce-cart .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-totals-item {
  color: #fff !important;
}
body.woocommerce-cart .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-totals-wrapper {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
body.woocommerce-cart .wc-block-components-totals-wrapper::after,
body.woocommerce-checkout .wc-block-components-totals-wrapper::after {
  border-color: rgba(255, 255, 255, 0.1) !important;
}
body.woocommerce-cart .wc-block-components-totals-item__description,
body.woocommerce-checkout .wc-block-components-totals-item__description,
body.woocommerce-cart .wc-block-components-shipping-address,
body.woocommerce-checkout .wc-block-components-shipping-address {
  color: var(--nd-muted) !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount,
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
  font-size: 1.7rem !important;
  font-weight: 800 !important;
  color: #fff !important;
}
body.woocommerce-cart .wc-block-components-totals-footer-item-tax,
body.woocommerce-checkout .wc-block-components-totals-footer-item-tax {
  color: var(--nd-muted) !important;
}
body.woocommerce-cart .wc-block-components-totals-discount .wc-block-components-totals-item__value,
body.woocommerce-checkout .wc-block-components-totals-discount .wc-block-components-totals-item__value {
  color: var(--nd-gold) !important;
}

/* Panele rozwijane (kupon, podsumowanie na telefonie) */
body.woocommerce-cart .wc-block-components-panel__button,
body.woocommerce-checkout .wc-block-components-panel__button {
  color: #fff !important;
  font-weight: 600 !important;
}
body.woocommerce-cart .wc-block-components-panel__button svg,
body.woocommerce-checkout .wc-block-components-panel__button svg,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon {
  fill: #fff !important;
}
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  border-color: rgba(255, 255, 255, 0.12) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price {
  color: #fff !important;
  font-weight: 800 !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  background: var(--nd-gold) !important;
  color: var(--nd-dark) !important;
  border: 0 !important;
  box-shadow: none !important;
  font-weight: 800 !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__description,
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
  color: var(--nd-muted) !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  color: #fff !important;
  font-weight: 800 !important;
}
body.woocommerce-checkout .wc-block-components-order-summary-item {
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding-bottom: 14px !important;
}

/* ---------- Pola formularzy ---------- */
body.woocommerce-cart .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-address-form input,
body.woocommerce-checkout .wc-block-components-textarea,
body.woocommerce-checkout .wc-block-checkout__order-notes textarea,
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-address-form select,
body.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input {
  background: var(--nd-input) !important;
  border: 1px solid var(--nd-input-border) !important;
  border-radius: 12px !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: none !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
body.woocommerce-cart .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-address-form input:focus,
body.woocommerce-checkout .wc-block-components-textarea:focus,
body.woocommerce-checkout .wc-blocks-components-select__select:focus,
body.woocommerce-checkout .wc-block-components-address-form select:focus {
  border-color: var(--nd-gold) !important;
  box-shadow: 0 0 0 3px rgba(217, 183, 121, 0.25) !important;
  background: rgba(0, 0, 0, 0.26) !important;
  outline: none !important;
}
body.woocommerce-cart .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-text-input label,
body.woocommerce-checkout .wc-block-components-address-form label,
body.woocommerce-checkout .wc-blocks-components-select__label,
body.woocommerce-checkout .wc-block-components-combobox label {
  color: var(--nd-muted) !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}
body.woocommerce-checkout .wc-blocks-components-select__expand,
body.woocommerce-checkout .wc-blocks-components-select svg {
  fill: #fff !important;
}
body.woocommerce-checkout .wc-blocks-components-select__container {
  background: transparent !important;
}
body.woocommerce-checkout select option {
  color: #1f2d2b !important;
  background: #fff !important;
}
body.woocommerce-cart input::placeholder,
body.woocommerce-checkout input::placeholder,
body.woocommerce-checkout textarea::placeholder {
  color: rgba(255, 255, 255, 0.45) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.45) !important;
}
/* Autouzupelnianie przegladarki (Chrome daje jasne tlo -> bialy tekst bylby niewidoczny) */
body.woocommerce-cart input:-webkit-autofill,
body.woocommerce-checkout input:-webkit-autofill,
body.woocommerce-checkout select:-webkit-autofill {
  -webkit-box-shadow: 0 0 0 1000px #2f4a46 inset !important;
  -webkit-text-fill-color: #fff !important;
  caret-color: #fff;
}
/* Bledy walidacji */
body.woocommerce-checkout .has-error input,
body.woocommerce-checkout .has-error select,
body.woocommerce-checkout .has-error textarea {
  border-color: #ff9d8f !important;
}
body.woocommerce-cart .wc-block-components-validation-error,
body.woocommerce-checkout .wc-block-components-validation-error,
body.woocommerce-checkout .wc-block-components-validation-error p,
body.woocommerce-checkout .has-error label {
  color: #ffb4a8 !important;
}

/* ---------- Opcje wyboru (dostawa, platnosc) ---------- */
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  border-radius: 14px !important;
  transition: background 0.2s ease, box-shadow 0.2s ease;
}
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  margin-bottom: 10px !important;
  padding-right: 16px !important;
}
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option:hover,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:hover {
  background: rgba(255, 255, 255, 0.07);
}
body.woocommerce-checkout .wc-block-components-radio-control__option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-components-shipping-rates-control__package .wc-block-components-radio-control__option--checked-option-highlighted,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  background: rgba(217, 183, 121, 0.1) !important;
  border: 1px solid var(--nd-gold) !important;
  box-shadow: 0 0 0 1px var(--nd-gold) inset !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__option--checked-option-highlighted::after,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted::after {
  display: none !important;
}
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  margin-bottom: 10px !important;
}
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control-accordion-option:first-child {
  border-top: 1px solid rgba(255, 255, 255, 0.1) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__input,
body.woocommerce-cart .wc-block-components-radio-control__input {
  border: 2px solid rgba(255, 255, 255, 0.5) !important;
  background: transparent !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__input:checked,
body.woocommerce-cart .wc-block-components-radio-control__input:checked {
  border-color: var(--nd-gold) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before,
body.woocommerce-cart .wc-block-components-radio-control__input:checked::before {
  background: var(--nd-gold) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label,
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label .wc-block-components-formatted-money-amount {
  font-weight: 800 !important;
  color: #fff !important;
}
body.woocommerce-checkout .wc-block-components-radio-control__description,
body.woocommerce-checkout .wc-block-components-radio-control__secondary-description {
  color: var(--nd-muted) !important;
}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Checkboxy */
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type='checkbox'],
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type='checkbox'] {
  background: var(--nd-input) !important;
  border: 1px solid var(--nd-input-border) !important;
  border-radius: 6px !important;
}
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__input[type='checkbox']:checked,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input[type='checkbox']:checked {
  background: var(--nd-gold) !important;
  border-color: var(--nd-gold) !important;
}
body.woocommerce-cart .wc-block-components-checkbox .wc-block-components-checkbox__mark,
body.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__mark {
  fill: var(--nd-dark) !important;
}
body.woocommerce-cart .wc-block-components-checkbox__label,
body.woocommerce-checkout .wc-block-components-checkbox__label {
  color: rgba(255, 255, 255, 0.88) !important;
}

/* Linki w zgodach i regulaminie (wczesniej zielone na zielonym tle) */
body.woocommerce-checkout .wc-block-checkout__terms a,
body.woocommerce-checkout .wc-block-components-checkbox__label a,
body.woocommerce-checkout .legal-acceptance-wrapper a,
body.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a,
body.woocommerce-checkout .legal-link {
  color: var(--nd-gold) !important;
  font-weight: 700 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px;
}
body.woocommerce-checkout .wc-block-checkout__terms a:hover,
body.woocommerce-checkout .wc-block-components-checkbox__label a:hover,
body.woocommerce-checkout .legal-acceptance-wrapper a:hover,
body.woocommerce-checkout .legal-link:hover {
  color: #fff !important;
}
body.woocommerce-checkout .wc-block-checkout__terms {
  color: var(--nd-muted) !important;
  font-size: 0.88rem;
}
/* Wlasny box akceptacji regulaminu - bylo biale pole, teraz karta w stylu strony */
body.woocommerce-checkout .custom-legal-acceptance {
  background: rgba(217, 183, 121, 0.08) !important;
  border: 1px solid rgba(217, 183, 121, 0.45) !important;
  border-radius: 14px !important;
  color: rgba(255, 255, 255, 0.9) !important;
}
body.woocommerce-checkout .custom-legal-acceptance span {
  color: #fff !important;
}
body.woocommerce-checkout .custom-legal-acceptance a,
body.woocommerce-checkout .legal-acceptance-wrapper a {
  color: #fff !important;
}
body.woocommerce-checkout .custom-legal-acceptance a:hover,
body.woocommerce-checkout .legal-acceptance-wrapper a:hover {
  color: var(--nd-gold) !important;
}

/* ---------- Przyciski glowne ---------- */
body.woocommerce-cart .wc-block-cart__submit-button,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button {
  min-height: 58px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--nd-cream) !important;
  color: var(--nd-deep) !important;
  font-family: 'Figtree', system-ui, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  box-shadow: 0 14px 34px -12px rgba(0, 0, 0, 0.55) !important;
  transition: transform 0.25s ease, background 0.25s ease !important;
}
body.woocommerce-cart .wc-block-cart__submit-button:hover,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover {
  background: #fff !important;
  transform: translateY(-2px);
}
body.woocommerce-cart .wc-block-cart__submit-button .wc-block-components-button__text,
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text {
  color: var(--nd-deep) !important;
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled {
  opacity: 0.7 !important;
  transform: none;
}
/* Przycisk "Zastosuj" kupon */
body.woocommerce-cart .wc-block-components-totals-coupon__button,
body.woocommerce-checkout .wc-block-components-totals-coupon__button {
  border-radius: 12px !important;
  background: var(--nd-deep) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.2) !important;
  font-weight: 700 !important;
}
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  color: var(--nd-muted) !important;
  text-decoration: none !important;
  font-size: 0.85rem;
  font-weight: 600 !important;
}
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover {
  color: #fff !important;
}

/* Przyklejony przycisk "Przejdz do kasy" na telefonie (domyslnie bialy pasek) */
body.woocommerce-cart .wc-block-cart__submit-container--sticky {
  background: rgba(36, 59, 56, 0.96) !important;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-bottom: calc(16px + env(safe-area-inset-bottom)) !important;
}
body.woocommerce-cart .wc-block-cart__submit-container--sticky::before {
  box-shadow: none !important;
}

/* Linki zwykle */
body.woocommerce-cart .wp-block-woocommerce-cart a:not(.wc-block-components-button):not(.wc-block-components-product-name):not(.wc-block-cart-item__remove-link),
body.woocommerce-checkout .wc-block-components-address-card a,
body.woocommerce-checkout .wc-block-components-address-card__edit {
  color: var(--nd-gold) !important;
}

/* Adres zapisany (karta adresu) */
body.woocommerce-checkout .wc-block-components-address-card {
  background: rgba(255, 255, 255, 0.04) !important;
  border: 1px solid rgba(255, 255, 255, 0.12) !important;
  border-radius: 14px !important;
  color: #fff !important;
}

/* Komunikaty */
body.woocommerce-cart .wc-block-components-notice-banner,
body.woocommerce-checkout .wc-block-components-notice-banner {
  border-radius: 14px !important;
  font-family: 'Figtree', system-ui, sans-serif;
}

/* ---------- Pusty koszyk ---------- */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  background: var(--nd-card);
  border: 1px solid var(--nd-card-border);
  border-radius: 20px;
  padding: clamp(32px, 5vw, 56px) clamp(20px, 4vw, 48px);
  text-align: center;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: clamp(1.5rem, 3.2vw, 2.1rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.01em;
  margin: 0 0 12px !important;
}
body.woocommerce-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
  background-color: var(--nd-gold) !important;
  margin: 0 auto 20px !important;
  display: block !important;
}
body.woocommerce-cart .nd-empty-lead {
  max-width: 30em;
  margin: 0 auto !important;
  color: var(--nd-muted) !important;
  font-size: 1rem;
  line-height: 1.6;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
  border: 0 !important;
  width: 60px !important;
  height: 1px !important;
  background: rgba(255, 255, 255, 0.2) !important;
  margin: clamp(28px, 4vw, 40px) auto !important;
  opacity: 1;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator::before {
  display: none !important; /* styl "kropki" */
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block h2:not(.wc-block-cart__empty-cart__title) {
  color: var(--nd-gold) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  margin: 0 0 22px !important;
}

/* Proponowane produkty - rowne karty, przyciski na jednym poziomie */
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 260px));
  justify-content: center;
  gap: 18px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  display: flex !important;
  flex-direction: column;
  width: auto !important;
  max-width: none !important;
  flex: none !important;
  margin: 0 !important;
  padding: 16px 16px 18px !important;
  border: 1px solid var(--nd-card-border) !important;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.05);
  text-align: center;
  transition: background 0.2s ease, transform 0.2s ease;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
  background: rgba(255, 255, 255, 0.08);
  transform: translateY(-2px);
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-link {
  display: flex;
  flex-direction: column;
  flex: 1;
  text-decoration: none !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
  margin: 0 0 14px !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 14px 26px -16px rgba(0, 0, 0, 0.6);
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
  color: #fff !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  margin: 0 0 8px !important;
  flex: 1;                               /* wyrownuje cene i przycisk przy tytulach roznej dlugosci */
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  color: #fff !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
  margin: 0 !important;
  width: 100%;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .add_to_cart_button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  padding: 0.7rem 1rem !important;
  border-radius: 999px !important;
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: background 0.2s ease, border-color 0.2s ease;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover,
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .add_to_cart_button:hover {
  background: rgba(255, 255, 255, 0.1) !important;
  border-color: var(--nd-gold) !important;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .add_to_cart_button.loading {
  opacity: 0.6;
}
body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .added_to_cart {
  display: block;
  margin-top: 10px;
  color: var(--nd-gold) !important;
  font-weight: 700;
  font-size: 0.85rem;
}
@media (max-width: 600px) {
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
    padding: 12px 12px 14px !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
    font-size: 0.85rem !important;
  }
  body.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
    font-size: 0.65rem !important;
    letter-spacing: 0.06em;
  }
}

/* ---------- Potwierdzenie zamowienia ---------- */
body.woocommerce-order-received .woocommerce-notice--success,
body.woocommerce-order-received .wc-block-order-confirmation-status {
  background: rgba(217, 183, 121, 0.1) !important;
  border: 1px solid rgba(217, 183, 121, 0.5) !important;
  border-radius: 20px !important;
  font-size: 1.1rem;
}
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details,
body.woocommerce-order-received .wc-block-order-confirmation-summary,
body.woocommerce-order-received .wc-block-order-confirmation__details,
body.woocommerce-order-received .wc-block-components-address-card {
  background: var(--nd-card) !important;
  border: 1px solid var(--nd-card-border) !important;
  border-radius: 20px !important;
}
body.woocommerce-order-received .woocommerce-order-details__title,
body.woocommerce-order-received .woocommerce-column__title,
body.woocommerce-order-received .wc-block-order-confirmation__details h2 {
  color: var(--nd-gold) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
}

/* ---------- Telefon ---------- */
@media (max-width: 767px) {
  body.woocommerce-cart main,
  body.woocommerce-checkout main {
    padding-top: 88px !important;
  }
  .nd-co-head {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .nd-steps {
    width: 100%;
    justify-content: space-between;
  }
  .nd-steps li {
    font-size: 0.62rem;
    letter-spacing: 0.08em;
    gap: 6px;
  }
  .nd-steps li + li::before {
    width: 12px;
  }
  .nd-steps span {
    width: 24px;
    height: 24px;
    font-size: 0.7rem;
  }
  body.woocommerce-cart .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar {
    position: static;
  }
  body.woocommerce-cart .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-sidebar,
  body.woocommerce-checkout .wc-block-components-checkout-step,
  body.woocommerce-cart .wc-block-cart__main {
    padding: 20px 16px !important;
    border-radius: 16px !important;
  }
  body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
  body.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount,
  body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-formatted-money-amount {
    font-size: 1.4rem !important;
  }
  /* Nowa stopka: miejsce na przyklejony przycisk koszyka */
  body.woocommerce-cart .nd2f-bottom {
    padding-bottom: calc(96px + env(safe-area-inset-bottom));
  }
}

/* ---------- Podsumowanie: mniej kresek ----------
   Zostaja tylko 2 linie: pod lista produktow i nad "Laczna kwota". */
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-item,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-order-summary-item,
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title {
  border-top: 0 !important;
  border-bottom: 0 !important;
}
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper::before,
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper::after,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper::before,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper::after {
  display: none !important;
}
/* puste sekcje (rabat, oplaty) nie zajmuja miejsca */
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper:empty,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper:empty {
  display: none !important;
}
/* ciasniejsze odstepy miedzy Kwota / Dostawa / kupon */
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper,
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper {
  padding-top: 8px !important;
  padding-bottom: 8px !important;
}
/* linia 1: pod lista produktow */
body.woocommerce-checkout .wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-cart-items-block {
  border-bottom: 1px solid rgba(255, 255, 255, 0.14) !important;
  padding-bottom: 14px !important;
  margin-bottom: 6px;
}
body.woocommerce-checkout .wc-block-components-order-summary-item {
  padding-bottom: 8px !important;
}
/* linia 2: nad kwota laczna */
body.woocommerce-cart .wc-block-components-sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item),
body.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper:has(.wc-block-components-totals-footer-item) {
  border-top: 1px solid rgba(255, 255, 255, 0.14) !important;
  margin-top: 8px;
  padding-top: 16px !important;
}
/* krotki opis ksiazki w podsumowaniu - zbedny, zasmieca liste */
body.woocommerce-checkout .wc-block-components-order-summary-item .wc-block-components-product-metadata__description {
  display: none !important;
}

/* ---------- Checkout: bez ramki wokol calej grupy metod dostawy / platnosci ----------
   WooCommerce rysuje ja jako ::after na kontenerze (.--highlight-checked). Ramki wokol pojedynczych metod zostaja.
   Ukryte tez cienkie linie-separatory miedzy opcjami (dublowalyby gorna krawedz kazdej karty). */
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked::after,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control__option::after,
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked div.wc-block-components-radio-control-accordion-option::after {
  display: none !important;
  content: none !important;
}
body.woocommerce-checkout .wc-block-components-radio-control--highlight-checked,
body.woocommerce-checkout .wc-block-components-radio-control-accordion,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control {
  border: 0 !important;
  box-shadow: none !important;
}

/* ---------- Koszyk: odstep miedzy karta produktow a karta podsumowania ----------
   WooCommerce robi odstep paddingiem kolumny produktow, ktory nadpisujemy (karta z tlem), wiec karty sie stykaly.
   gap + nowrap: na komputerze karty zostaja obok siebie (lekko sie zwezaja), a ponizej 700px
   (WooCommerce przelacza wtedy uklad na kolumne) ten sam gap daje odstep gora-dol. */
body.woocommerce-cart .wp-block-woocommerce-filled-cart-block.wc-block-components-sidebar-layout,
body.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout {
  flex-wrap: nowrap !important;
  gap: 20px;
}
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__main {
  flex: 1 1 auto;
  min-width: 0;
}
body.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-cart__sidebar {
  flex: 0 1 35%;
  min-width: 0;
}
@media (max-width: 767px) {
  body.woocommerce-cart .wp-block-woocommerce-filled-cart-block.wc-block-components-sidebar-layout,
  body.woocommerce-cart .wc-block-cart.wc-block-components-sidebar-layout {
    gap: 16px;
  }
}

/* ---------- Koszyk na telefonie: cena i "Oszczedzasz" pod informacjami o produkcie ----------
   WooCommerce (ponizej 700px szerokosci kontenera) stawia cene w trzeciej kolumnie obok opisu, przy stalych
   szerokosciach 80px + 132px - przy rabacie pakietowym plakietka nie miescila sie i wychodzila poza ekran.
   Uklad: okladka po lewej (2 wiersze), po prawej opis produktu, a pod nim cena z plakietka. */
@container (max-width: 699px) {
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row {
    grid-template-columns: 72px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    row-gap: 10px;
  }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__image {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    padding-right: 0 !important;
  }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__product {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0;
  }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__total {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-content: flex-start !important;
    text-align: left !important;
    min-width: 0;
    padding-top: 10px !important;
    border-top: 1px dashed rgba(255, 255, 255, 0.14);
  }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__total-price-and-sale-badge-wrapper {
    flex-direction: row !important;
    flex-wrap: wrap;
    align-items: center !important;
    gap: 6px 10px !important;
  }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__prices,
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-components-product-name {
    overflow-wrap: anywhere;
  }
  body.woocommerce-cart .wc-block-cart table.wc-block-cart-items .wc-block-cart-item__prices {
    flex-wrap: wrap;
  }
}
