/* =================================================================
   WooCommerce — niestandardowe style (kordynator-kamil)
   Zmienne: --td-theme-primary #20282d | --td-common-line #e6e6e6
            --td-grey-1 #f5f9ff | --td-grey-2 #666 | --td-grey-3 #8b9aa4
            --td-common-white #fff | blue accent #4a9eff
   ================================================================= */

/* ── Globalne / notices ─────────────────────────────────────── */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
  background: var(--td-common-white);
  border: 1px solid var(--td-common-line);
  border-top: 3px solid var(--td-theme-primary);
  color: var(--td-theme-primary);
  font-size: 1.4rem;
  padding: 14px 18px;
  margin-bottom: 24px;
}
.woocommerce-error { border-top-color: #ef4444; }
.woocommerce-info  { border-top-color: #4a9eff; }

.woocommerce-message a.button,
.woocommerce-error  a.button,
.woocommerce-info   a.button {
  font-size: 1.3rem;
  font-weight: 600;
  text-decoration: underline;
  color: var(--td-theme-primary);
}

/* ── Sklep / archiwum ───────────────────────────────────────── */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 24px !important;
  list-style: none;
  margin: 0; padding: 0;
}
@media (max-width: 991px) { .woocommerce ul.products { grid-template-columns: repeat(2,1fr) !important; } }
@media (max-width: 575px) { .woocommerce ul.products { grid-template-columns: 1fr !important; } }

.woocommerce ul.products li.product {
  background: var(--td-common-white);
  border: 1px solid var(--td-common-line);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform .2s, border-color .2s;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  border-color: var(--td-theme-primary);
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
  display: flex; flex-direction: column; flex: 1;
}
.woocommerce ul.products li.product img {
  aspect-ratio: 4/3;
  object-fit: cover;
  width: 100%;
}
.woocommerce ul.products li.product h2 {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--td-theme-primary);
  padding: 16px 16px 8px;
  margin: 0;
}
.woocommerce ul.products li.product .price {
  font-size: 1.8rem;
  font-weight: 800;
  color: var(--td-theme-primary);
  padding: 0 16px 16px;
}
.woocommerce ul.products li.product .button {
  display: block;
  background: var(--td-theme-primary);
  color: var(--td-common-white);
  font-family: var(--td-ff-manrope, 'Poppins', sans-serif);
  font-size: 1.4rem;
  font-weight: 600;
  text-align: center;
  padding: 12px 20px;
  margin: 0 16px 16px;
  border-radius: 16px;
  border: none;
  cursor: pointer;
  text-decoration: none;
  transition: opacity .2s;
}
.woocommerce ul.products li.product .button:hover { opacity: .85; }

/* ── Pojedynczy produkt ─────────────────────────────────────── */
.woocommerce div.product { padding: 60px 0; }
.woocommerce div.product div.images img { border-radius: 4px; }
.woocommerce div.product div.summary .product_title {
  font-size: clamp(2.4rem, 3vw, 4.2rem);
  font-weight: 800;
  color: var(--td-theme-primary);
  margin-bottom: 16px;
}
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-size: 2.8rem;
  font-weight: 800;
  color: var(--td-theme-primary);
  margin-bottom: 20px;
  display: block;
}
.woocommerce div.product .woocommerce-product-details__short-description {
  font-size: 1.6rem;
  line-height: 1.7;
  color: var(--td-grey-2);
  margin-bottom: 24px;
}
.woocommerce div.product form.cart button[type="submit"],
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button {
  background: var(--td-theme-primary);
  color: var(--td-common-white);
  font-family: var(--td-ff-manrope, 'Poppins', sans-serif);
  font-size: 1.4rem;
  font-weight: 600;
  padding: 14px 28px;
  border-radius: 16px;
  border: none;
  cursor: pointer;
  transition: opacity .2s;
}
.woocommerce div.product form.cart button[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover { opacity: .85; }

/* ── Formularz WC (pola) ────────────────────────────────────── */
.woocommerce form .form-row label {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--td-grey-2);
  margin-bottom: 5px;
  display: block;
}
.woocommerce form .form-row label .required { color: #ef4444; }
.woocommerce form .form-row input,
.woocommerce form .form-row select,
.woocommerce form .form-row textarea {
  background: var(--td-common-white);
  border: 1px solid var(--td-common-line);
  border-radius: 4px;
  color: var(--td-theme-primary);
  font-family: var(--td-ff-manrope, 'Poppins', sans-serif);
  font-size: 1.4rem;
  padding: 10px 12px;
  width: 100%;
}
.woocommerce form .form-row input:focus,
.woocommerce form .form-row select:focus,
.woocommerce form .form-row textarea:focus {
  border-color: #4a9eff;
  outline: none;
}
.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: #ef4444;
}

/* ── Koszyk — lista pozycji ─────────────────────────────────── */
.kamil-cart-page { min-height: 60vh; }

.kamil-cart-empty {
  text-align: center;
  padding: 60px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
}
.kamil-cart-empty svg { color: var(--td-grey-3); }

/* Nagłówki kolumn koszyka */
.kamil-cart-head {
  display: grid;
  grid-template-columns: minmax(0,1fr) 90px 64px 118px;
  gap: 1.6rem;
  padding-bottom: 1rem;
}
.kamil-cart-head span {
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--td-grey-3);
}
.kamil-cart-head__price { text-align: right; }
.kamil-cart-head__qty { text-align: center; }
.kamil-cart-head__total { text-align: right; }

.kamil-cart-item {
  display: grid;
  grid-template-columns: minmax(0,1fr) 90px 64px 118px;
  gap: 1.6rem;
  align-items: center;
  padding: 1.6rem 0;
  border-bottom: 1px solid var(--td-common-line);
}
.kamil-cart-item:first-child { border-top: 1px solid var(--td-common-line); }

.kamil-cart-item__info { display: flex; flex-direction: column; gap: .3rem; }
.kamil-cart-item__cat {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: #4a9eff;
}
.kamil-cart-item__name {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--td-theme-primary);
  margin: 0;
}
.kamil-cart-item__name a {
  color: var(--td-theme-primary);
  text-decoration: none;
}
.kamil-cart-item__name a:hover { text-decoration: underline; }

.kamil-cart-item__price {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--td-theme-primary);
  text-align: right;
  white-space: nowrap;
  text-transform: none;
}
.kamil-cart-item__price .amount { color: var(--td-theme-primary) !important; }
/* symbol waluty „zł" — małymi literami, w tym samym kolorze co liczba */
.kamil-cart-item .woocommerce-Price-currencySymbol {
  text-transform: lowercase;
  color: inherit;
  font-weight: inherit;
}

.kamil-cart-item__qty { text-align: center; }
.kamil-cart-item__qty .quantity input,
.kamil-cart-item__qty input[type="number"] {
  width: 56px !important;
  padding: 8px 10px !important;
  text-align: center;
  border: 1px solid var(--td-common-line) !important;
  border-radius: 4px !important;
  font-size: 1.4rem !important;
  color: var(--td-theme-primary) !important;
}
.kamil-cart-item__qty-fixed {
  display: inline-block;
  padding: 8px 16px;
  font-size: 1.4rem;
  color: var(--td-theme-primary);
}

.kamil-cart-item__total {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-end;
  gap: 1rem;
}
.kamil-cart-item__subtotal { font-size: 1.6rem; font-weight: 700; color: var(--td-theme-primary); white-space: nowrap; }
.kamil-cart-item__subtotal .amount { color: var(--td-theme-primary) !important; }

.kamil-cart-item__remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px; height: 24px;
  background: var(--td-grey-1);
  border-radius: 50%;
  color: var(--td-grey-2);
  text-decoration: none;
  transition: background .15s, color .15s;
}
.kamil-cart-item__remove:hover { background: #fee2e2; color: #ef4444; }

/* Akcje koszyka (kupon + odśwież) */
.kamil-cart-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 2rem;
}
.kamil-cart-coupon { display: flex; gap: .6rem; align-items: center; }
.kamil-coupon-input {
  border: 1px solid var(--td-common-line);
  border-radius: 4px;
  padding: 10px 12px;
  font-size: 1.4rem;
  color: var(--td-theme-primary);
  min-width: 180px;
}
.kamil-coupon-input:focus { border-color: #4a9eff; outline: none; }

/* outline btn override (kupon + odśwież) */
.kk-btn--outline {
  background: rgba(74, 158, 255, .10) !important;
  border: 1px solid rgba(74, 158, 255, .45) !important;
  color: #2f7ad9 !important;
  padding: 10px 18px !important;
  font-size: 1.3rem !important;
  font-weight: 600 !important;
  transition: background .15s, border-color .15s !important;
}
.kk-btn--outline:hover {
  background: rgba(74, 158, 255, .18) !important;
  border-color: #4a9eff !important;
}

/* ── Zamówienie — podsumowanie (sidebar) ────────────────────── */
.kamil-order-summary {
  border: 1px solid var(--td-common-line);
  background: var(--td-common-white);
  padding: clamp(1.6rem, 3vw, 2.4rem);
  position: sticky;
  top: 110px;
}

/* flex-row tylko w cart-sidebar (każdy rząd = etykieta + wartość) */
.kamil-cart-sidebar .kamil-order-summary > div,
.kamil-thank-you__summary > div {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 1rem;
  padding: .9rem 0;
  border-bottom: 1px solid var(--td-common-line);
  font-size: 1.4rem;
  color: var(--td-theme-primary);
}
.kamil-cart-sidebar .kamil-order-summary > div span:first-child,
.kamil-thank-you__summary > div span:first-child { color: var(--td-grey-2); }

.kamil-order-summary .amount { color: var(--td-theme-primary) !important; }

.kamil-order-summary__coupon span:first-child a.kamil-remove-coupon {
  color: #ef4444;
  margin-left: .4rem;
  text-decoration: none;
  font-weight: 700;
}

.kamil-order-summary__total,
.kamil-thank-you__summary .kamil-order-summary__total {
  font-weight: 700;
  font-size: 1.6rem;
  border-bottom: none !important;
  padding-top: 1rem !important;
}
.kamil-order-summary__total span,
.kamil-thank-you__summary .kamil-order-summary__total span { color: var(--td-theme-primary) !important; }

/* ── Koszyk sidebar wrapper ─────────────────────────────────── */
.kamil-cart-sidebar .kamil-order-summary { position: sticky; top: 110px; }

/* Odstęp między kolumną pozycji a podsumowaniem (g-40 niezdefiniowane → domyślnie stykały się) */
@media (min-width: 992px) {
  .kamil-cart-page .col-lg-4 { padding-left: clamp(2rem, 3.5vw, 4.5rem); }
}

/* ── Lekki polish koszyka (akcent markowy #4a9eff, wyraźniejszy panel) ── */
.kamil-cart-item__cat { color: rgb(74, 158, 255); }
.kamil-coupon-input:focus { border-color: rgb(74, 158, 255); }

.kamil-cart-item__name a { transition: color .15s ease; }
.kamil-cart-item:hover .kamil-cart-item__name a { color: rgb(74, 158, 255); }

.kamil-cart-sidebar .kamil-order-summary { border-top: 3px solid rgb(74, 158, 255); }
.kamil-cart-sidebar .kamil-order-summary__total { padding-top: 1.4rem !important; }
.kamil-cart-sidebar .kamil-order-summary__total .amount {
  color: rgb(74, 158, 255) !important;
  font-size: 2.2rem;
  font-weight: 800;
}
.kamil-cart-trust {
  display: flex;
  align-items: center;
  gap: .6rem;
  margin: 1.4rem 0 0;
  color: var(--td-grey-2);
  font-size: 1.25rem;
  line-height: 1.4;
}
.kamil-cart-trust svg { flex-shrink: 0; color: rgb(74, 158, 255); }

/* ── Checkout: style w main.css (.kk-shop / .kk-co, 2026-10-26); stary blok .kamil-checkout-page usunięty ── */

/* ── Strona podziękowania ────────────────────────────────────── */
.kamil-thank-you {
  max-width: 820px;
  margin: 0 auto;
  text-align: center;
}
.kamil-thank-you__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 76px; height: 76px;
  border-radius: 50%;
  background: #4a9eff;
  color: var(--td-common-white);
  margin-bottom: 2rem;
}
.kamil-thank-you__summary {
  max-width: 500px;
  margin: 2rem auto;
  text-align: left;
}
.kamil-thank-you__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  margin-top: 2.5rem;
}

/* ── Moje konto — navigation ────────────────────────────────── */
.woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-page .woocommerce-MyAccount-navigation {
  display: none;
}

/* ── Responsywność koszyka / checkout ───────────────────────── */
@media (max-width: 991px) {
  .kamil-cart-head { display: none; }
  .kamil-cart-item {
    grid-template-columns: minmax(0,1fr) auto;
    grid-template-rows: auto auto;
    gap: .6rem 1rem;
    align-items: center;
    padding: 1.4rem 0;
  }
  .kamil-cart-item__info { grid-column: 1 / -1; }
  .kamil-cart-item__price { display: none; }
  .kamil-cart-item__qty { grid-row: 2; grid-column: 1; text-align: left; }
  .kamil-cart-item__qty-fixed::before {
    content: "Ilość: ";
    color: var(--td-grey-2);
    font-weight: 400;
  }
  .kamil-cart-item__qty-fixed { padding-left: 0; }
  .kamil-cart-item__total { grid-row: 2; grid-column: 2; }

  .kamil-checkout-summary { position: static; }
  .kamil-order-summary { position: static; }
  .kamil-cart-sidebar .kamil-order-summary { position: static; }

  .kamil-checkout-page .woocommerce-billing-fields__field-wrapper,
  .kamil-checkout-page #billing_fields,
  .kamil-checkout-page .woocommerce-billing-fields {
    grid-template-columns: 1fr;
  }
  .kamil-checkout-page .form-row-first,
  .kamil-checkout-page .form-row-last { grid-column: 1; }

  .kamil-checkout-summary #payment ul.payment_methods {
    grid-template-columns: 1fr;
  }
}

/* ── Toast „Dodano do koszyka" ─────────────────────────────── */
.kk-toast {
  position: fixed; z-index: 10000;
  right: 24px; bottom: 24px;
  display: flex; align-items: center; gap: 14px;
  max-width: 400px;
  padding: 16px 18px;
  background: #fff;
  border: 1px solid var(--td-common-line);
  border-left: 3px solid rgb(74, 158, 255);
  box-shadow: 0 18px 44px rgba(20, 26, 29, .16);
  opacity: 0; visibility: hidden;
  transform: translateY(14px);
  transition: opacity .28s ease, transform .28s ease, visibility .28s;
  pointer-events: none;
}
.kk-toast.is-visible {
  opacity: 1; visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.kk-toast__icon {
  flex-shrink: 0;
  width: 34px; height: 34px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: rgba(74, 158, 255, .12);
  color: rgb(74, 158, 255);
}
.kk-toast__text {
  display: flex; flex-direction: column; gap: 1px;
  min-width: 0; line-height: 1.3;
}
.kk-toast__text strong {
  font-size: 1.5rem; font-weight: 700;
  color: var(--td-theme-primary);
}
.kk-toast__text span {
  font-size: 1.3rem; color: var(--td-grey-2);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kk-toast__link {
  margin-left: auto; flex-shrink: 0;
  font-size: 1.35rem; font-weight: 600;
  color: rgb(74, 158, 255); white-space: nowrap;
}
.kk-toast__link:hover { text-decoration: underline; }

.single_add_to_cart_button.is-loading { opacity: .55; pointer-events: none; }

@media (max-width: 600px) {
  .kk-toast { left: 16px; right: 16px; bottom: 16px; max-width: none; }
}
