/* ══════════════════════════════════════════════════════════════════════
   NKML — sklep z materiałami do druku (WooCommerce)

   Arkusz przenosi wygląd z projektu sklepu na znaczniki, które generuje
   WooCommerce. Kolory i kroje pochodzą ze style.css motywu — tu są tylko
   te reguły, których motyw nie ma.

   Kolejność sekcji odpowiada ścieżce zakupu:
   1. archiwum   2. produkt   3. koszyk   4. zamówienie   5. pobranie
   ══════════════════════════════════════════════════════════════════════ */

.woocommerce .nkml-wrap,
.woocommerce-page .nkml-wrap {
  width: min(1180px, 100% - 44px);
  margin-inline: auto;
}

/* WooCommerce wstawia własne marginesy do niemal każdego bloku. */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-error {
  margin: 0 0 22px;
  padding: 14px 18px 14px 46px;
  border: 1px solid var(--nkml-line);
  border-top: 3px solid var(--nkml-orange);
  border-radius: 0 14px 14px 0;
  background: var(--nkml-white);
  box-shadow: var(--nkml-shadow-sm);
  font-weight: 600;
  color: var(--nkml-text);
  list-style: none;
}

.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before,
.woocommerce .woocommerce-error::before {
  color: var(--nkml-orange-dark);
}

.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-error .button {
  float: right;
  margin-left: 16px;
}


/* ═══════════ 1 · Archiwum ═══════════ */

.nkml-sklep-hero {
  max-width: 62ch;
  padding: 14px 0 4px;
}

.nkml-sklep-hero h1 {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: clamp(27px, 4vw, 36px);
  line-height: 1.2;
  letter-spacing: -.01em;
  margin: 0 0 10px;
}

.nkml-sklep-hero p {
  color: var(--nkml-muted);
  font-weight: 600;
  font-size: 17px;
  line-height: 1.62;
  margin: 0;
  text-wrap: pretty;
}

/* Filtry kategorii — pigułki jak w projekcie. */
.nkml-filtry {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin: 22px 0 24px;
}

.nkml-filtry a {
  font-weight: 700;
  font-size: 14px;
  color: var(--nkml-navy);
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 99px;
  padding: 8px 16px;
  transition: border-color .15s, background .15s, color .15s;
}

.nkml-filtry a:hover {
  border-color: var(--nkml-orange);
  color: var(--nkml-navy);
}

.nkml-filtry a[aria-current="page"] {
  background: var(--nkml-navy);
  border-color: var(--nkml-navy);
  color: #fff;
}

/* Siatka: WooCommerce używa float i procentowych szerokości — grid daje
   równe wysokości kart bez obliczeń na marginesach. */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(292px, 1fr));
  gap: 20px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce ul.products::before,
.woocommerce ul.products::after {
  content: none;
}

.woocommerce ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  display: flex;
  flex-direction: column;
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 24px;
  overflow: hidden;
  box-shadow: var(--nkml-shadow-sm);
  transition: transform .18s, box-shadow .18s, border-color .18s;
}

.woocommerce ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: var(--nkml-shadow-md);
  border-color: #F6D699;
}

.woocommerce ul.products li.product a img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  background: var(--nkml-cream-2);
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--nkml-head);
  font-weight: 600;
  color: var(--nkml-navy);
  font-size: 18.5px;
  line-height: 1.25;
  padding: 16px 18px 0;
  margin: 0 0 6px;
}

.woocommerce ul.products li.product .nkml-karta-kl {
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--nkml-muted);
  padding: 16px 18px 0;
}

.woocommerce ul.products li.product .nkml-karta-kl + .woocommerce-loop-product__title {
  padding-top: 6px;
}

.woocommerce ul.products li.product .nkml-karta-opis {
  color: var(--nkml-muted);
  font-weight: 600;
  font-size: 14.5px;
  line-height: 1.55;
  padding: 0 18px;
  margin: 0 0 12px;
}

.woocommerce ul.products li.product .nkml-karta-fakty {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  margin: auto 0 0;
  padding: 12px 18px 0;
  border-top: 1px solid #EEF2F7;
}

.woocommerce ul.products li.product .nkml-karta-fakty span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-weight: 700;
  font-size: 12.5px;
  color: var(--nkml-muted);
}

.woocommerce ul.products li.product .nkml-karta-stopka {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px 18px;
}

.woocommerce ul.products li.product .price {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 21px;
  margin: 0;
  line-height: 1.1;
}

.woocommerce ul.products li.product .price del {
  color: var(--nkml-muted);
  font-size: 15px;
  font-weight: 600;
  opacity: .8;
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
}

.nkml-cena-typ {
  display: block;
  font-family: var(--nkml-body);
  font-weight: 600;
  font-size: 11.5px;
  color: var(--nkml-muted);
  letter-spacing: .02em;
  margin-top: 1px;
}

/* Plakietka „Nowość" / „Bestseller" */
.woocommerce ul.products li.product .onsale,
.woocommerce ul.products li.product .nkml-plakietka {
  position: absolute;
  top: 12px;
  left: 12px;
  right: auto;
  z-index: 2;
  min-height: 0;
  min-width: 0;
  margin: 0;
  padding: 4px 11px;
  border-radius: 99px;
  background: var(--nkml-orange);
  color: #fff;
  font-family: var(--nkml-body);
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  line-height: 1.6;
}

.woocommerce ul.products li.product {
  position: relative;
}


/* ═══════════ 2 · Produkt ═══════════ */

.nkml-okruszki {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 20px 0 4px;
  font-size: 13.5px;
  font-weight: 700;
  color: var(--nkml-muted);
}

.nkml-okruszki span { opacity: .5; }
.nkml-okruszki b    { color: var(--nkml-navy); }

.woocommerce div.product {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 40px;
  align-items: start;
  margin-top: 18px;
}

@media (max-width: 900px) {
  .woocommerce div.product {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

.woocommerce div.product div.images {
  width: auto;
  float: none;
  margin: 0;
}

.woocommerce div.product div.images img {
  border-radius: 24px;
  border: 1px solid var(--nkml-line);
  box-shadow: var(--nkml-shadow-sm);
  background: var(--nkml-cream-2);
}

.woocommerce div.product div.summary {
  width: auto;
  float: none;
  margin: 0;
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 24px;
  padding: 24px 26px 26px;
  box-shadow: var(--nkml-shadow-sm);
  position: sticky;
  top: 96px;
}

@media (max-width: 900px) {
  .woocommerce div.product div.summary { position: static; }
}

.woocommerce div.product .product_title {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 29px;
  line-height: 1.2;
  letter-spacing: -.01em;
  margin: 0 0 10px;
  padding: 0;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  display: flex;
  align-items: baseline;
  gap: 12px;
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 38px;
  line-height: 1;
  margin: 0 0 4px;
}

.woocommerce div.product p.price del {
  font-size: 21px;
  font-weight: 600;
  color: var(--nkml-muted);
  opacity: .85;
}

.woocommerce div.product p.price ins { text-decoration: none; }

.woocommerce div.product p.price .nkml-cena-typ {
  font-size: 13px;
  margin: 0;
}

.nkml-vat {
  font-size: 13.5px;
  font-weight: 600;
  color: var(--nkml-muted);
  margin: 0 0 18px;
}

/* Warianty licencji — WooCommerce renderuje je jako <select> w tabeli;
   radia czytają się lepiej, bo pokazują wszystkie ceny naraz. */
.woocommerce div.product form.cart .variations {
  margin: 0 0 18px;
  border: 0;
}

.woocommerce div.product form.cart .variations tbody,
.woocommerce div.product form.cart .variations tr,
.woocommerce div.product form.cart .variations td {
  display: block;
  border: 0;
  padding: 0;
}

.woocommerce div.product form.cart .variations .label {
  margin-bottom: 8px;
}

.woocommerce div.product form.cart .variations label {
  font-family: var(--nkml-head);
  font-weight: 600;
  font-size: 15px;
  color: var(--nkml-navy);
}

.woocommerce div.product form.cart .variations select {
  width: 100%;
  font-family: var(--nkml-body);
  font-weight: 600;
  font-size: 15px;
  color: var(--nkml-text);
  background: var(--nkml-cream);
  border: 1px solid var(--nkml-line);
  border-radius: 12px;
  padding: 12px 14px;
}

.woocommerce div.product form.cart .reset_variations {
  display: inline-block;
  font-size: 13px;
  font-weight: 700;
  margin-top: 8px;
}

/* Licznik sztuk jest zbędny: plik kupuje się raz. */
.woocommerce div.product form.cart div.quantity {
  display: none;
}

.woocommerce div.product form.cart {
  margin: 0;
}

.woocommerce div.product form.cart .button,
.woocommerce div.product .single_add_to_cart_button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  width: 100%;
  float: none;
  font-family: var(--nkml-head);
  font-weight: 700;
  font-size: 16px;
  border: 0;
  border-radius: 99px;
  padding: 15px 26px;
  background: var(--nkml-orange);
  color: #fff;
  box-shadow: 0 8px 20px rgba(244, 162, 40, .30);
  transition: background .16s, transform .16s, box-shadow .16s;
}

.woocommerce div.product form.cart .button:hover,
.woocommerce div.product .single_add_to_cart_button:hover {
  background: var(--nkml-orange-dark);
  transform: translateY(-2px);
  box-shadow: 0 12px 26px rgba(244, 162, 40, .38);
}

/* Lista pewności pod przyciskiem */
.nkml-pewnosc {
  list-style: none;
  margin: 16px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid #EEF2F7;
  display: grid;
  gap: 9px;
}

.nkml-pewnosc li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-weight: 600;
  font-size: 14px;
  color: var(--nkml-text);
  line-height: 1.5;
}

.nkml-pewnosc svg {
  flex-shrink: 0;
  width: 17px;
  height: 17px;
  margin-top: 3px;
  color: var(--nkml-orange-dark);
}

/* Metadane produktu */
.nkml-prod-meta {
  display: grid;
  gap: 10px;
  margin: 18px 0 0;
  padding: 16px 0 0;
  border-top: 1px solid #EEF2F7;
}

.nkml-prod-meta div {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  font-size: 14px;
}

.nkml-prod-meta dt,
.nkml-prod-meta .et {
  font-weight: 600;
  color: var(--nkml-muted);
}

.nkml-prod-meta dd,
.nkml-prod-meta .wa {
  margin: 0;
  font-weight: 700;
  color: var(--nkml-navy);
  text-align: right;
}

/* Opis pod kolumnami */
.nkml-opis {
  grid-column: 1 / -1;
  max-width: 68ch;
  margin-top: 44px;
}

.nkml-opis h2 {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 23px;
  margin: 32px 0 12px;
}

.nkml-opis h2:first-child { margin-top: 0; }

.nkml-opis p {
  color: var(--nkml-text);
  line-height: 1.75;
  margin: 0 0 14px;
}

.nkml-opis ul {
  margin: 0 0 18px;
  padding-left: 0;
  list-style: none;
}

.nkml-opis ul li {
  position: relative;
  padding-left: 26px;
  margin-bottom: 9px;
  line-height: 1.65;
}

.nkml-opis ul li::before {
  content: "";
  position: absolute;
  left: 4px;
  top: 11px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--nkml-orange);
}

/* FAQ produktu */
.nkml-opis details {
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 16px;
  padding: 0 20px;
  margin: 0 0 12px;
  box-shadow: var(--nkml-shadow-sm);
}

.nkml-opis details[open] {
  border-color: #F6D699;
}

.nkml-opis summary {
  position: relative;
  font-family: var(--nkml-head);
  font-weight: 600;
  color: var(--nkml-navy);
  font-size: 16.5px;
  line-height: 1.35;
  cursor: pointer;
  padding: 16px 40px 16px 0;
  list-style: none;
}

.nkml-opis summary::-webkit-details-marker { display: none; }

.nkml-opis summary::after {
  content: "+";
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: var(--nkml-cream-2);
  color: var(--nkml-orange-dark);
  font-weight: 800;
  font-size: 17px;
  line-height: 1;
}

.nkml-opis details[open] summary::after {
  content: "−";
  background: var(--nkml-orange);
  color: #fff;
}

.nkml-opis details p {
  margin: 0 0 16px;
  color: var(--nkml-text);
}

/* Dobrane materiały */
.nkml-dobrane {
  grid-column: 1 / -1;
  margin-top: 48px;
  padding-top: 34px;
  border-top: 1px solid var(--nkml-line);
}

.nkml-dobrane > h2 {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 23px;
  margin: 0 0 18px;
}


/* ═══════════ 3 · Koszyk ═══════════ */

.nkml-kosz-ukl {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, .6fr);
  gap: 32px;
  align-items: start;
  margin-top: 20px;
}

@media (max-width: 860px) {
  .nkml-kosz-ukl {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

/* Tabela koszyka na karty: układ tabelaryczny łamie się na telefonie,
   a przy dwóch pozycjach nie daje nic w zamian. */
.woocommerce table.shop_table.cart {
  border: 0;
  border-radius: 0;
  margin: 0;
  border-collapse: collapse;
  background: transparent;
}

.woocommerce table.shop_table.cart thead { display: none; }

.woocommerce table.shop_table.cart tbody,
.woocommerce table.shop_table.cart tr.woocommerce-cart-form__cart-item {
  display: block;
}

.woocommerce table.shop_table.cart tr.woocommerce-cart-form__cart-item {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 20px;
  padding: 16px 18px;
  margin-bottom: 12px;
  box-shadow: var(--nkml-shadow-sm);
}

@media (max-width: 560px) {
  .woocommerce table.shop_table.cart tr.woocommerce-cart-form__cart-item {
    grid-template-columns: 68px minmax(0, 1fr);
  }
}

.woocommerce table.shop_table.cart td {
  border: 0;
  padding: 0;
}

.woocommerce table.shop_table.cart td.product-thumbnail {
  display: block;
}

.woocommerce table.shop_table.cart td.product-thumbnail img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 12px;
  background: var(--nkml-cream-2);
}

.woocommerce table.shop_table.cart td.product-name a {
  font-family: var(--nkml-head);
  font-weight: 600;
  color: var(--nkml-navy);
  font-size: 17.5px;
  line-height: 1.3;
}

.woocommerce table.shop_table.cart td.product-name .variation {
  margin: 5px 0 0;
  font-size: 13.5px;
  color: var(--nkml-muted);
  font-weight: 600;
}

.woocommerce table.shop_table.cart td.product-name .variation dt,
.woocommerce table.shop_table.cart td.product-name .variation dd {
  display: inline;
  margin: 0;
  padding: 0;
}

.woocommerce table.shop_table.cart td.product-name .variation dd p { margin: 0; }

.woocommerce table.shop_table.cart td.product-price,
.woocommerce table.shop_table.cart td.product-quantity {
  display: none;
}

.woocommerce table.shop_table.cart td.product-subtotal {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 20px;
  text-align: right;
  white-space: nowrap;
}

.woocommerce table.shop_table.cart td.product-remove {
  grid-column: 3;
  grid-row: 2;
  text-align: right;
}

@media (max-width: 560px) {
  .woocommerce table.shop_table.cart td.product-remove {
    grid-column: 2;
    grid-row: auto;
  }
}

.woocommerce table.shop_table.cart td.product-remove a.remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  font-size: 20px;
  color: var(--nkml-muted) !important;
  background: transparent;
  border-radius: 50%;
}

.woocommerce table.shop_table.cart td.product-remove a.remove:hover {
  background: #FDECEA;
  color: #DC2626 !important;
}

/* Kod rabatowy + aktualizacja */
.woocommerce table.shop_table.cart td.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 6px 0 0;
  background: transparent;
}

.woocommerce table.shop_table.cart td.actions .coupon {
  display: flex;
  gap: 10px;
  flex: 1;
  min-width: 260px;
}

.woocommerce table.shop_table.cart td.actions .coupon label { display: none; }

.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.shop_table.cart td.actions .input-text {
  width: auto;
  flex: 1;
  font-family: var(--nkml-body);
  font-weight: 600;
  font-size: 15px;
  border: 1px solid var(--nkml-line);
  border-radius: 12px;
  padding: 12px 14px;
  background: var(--nkml-white);
}

.woocommerce table.shop_table.cart td.actions .button {
  font-family: var(--nkml-head);
  font-weight: 700;
  font-size: 14px;
  background: var(--nkml-white);
  color: var(--nkml-navy);
  border: 1.5px solid var(--nkml-line);
  border-radius: 99px;
  padding: 11px 20px;
  transition: border-color .15s;
}

.woocommerce table.shop_table.cart td.actions .button:hover {
  border-color: var(--nkml-navy);
  background: var(--nkml-white);
  color: var(--nkml-navy);
}

/* Podsumowanie */
.woocommerce .cart-collaterals,
.woocommerce-page .cart-collaterals {
  width: auto;
  float: none;
}

.woocommerce .cart-collaterals .cart_totals {
  width: auto;
  float: none;
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 24px;
  padding: 22px 24px 24px;
  box-shadow: var(--nkml-shadow-sm);
}

.woocommerce .cart_totals h2 {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 20px;
  margin: 0 0 14px;
}

.woocommerce .cart_totals table.shop_table {
  border: 0;
  margin: 0;
  border-collapse: collapse;
}

.woocommerce .cart_totals table.shop_table th,
.woocommerce .cart_totals table.shop_table td {
  border: 0;
  border-bottom: 1px solid #EEF2F7;
  padding: 11px 0;
  font-weight: 600;
  color: var(--nkml-text);
  font-size: 15px;
}

.woocommerce .cart_totals table.shop_table th {
  color: var(--nkml-muted);
  font-weight: 600;
  width: auto;
}

.woocommerce .cart_totals table.shop_table td {
  text-align: right;
  font-weight: 700;
  color: var(--nkml-navy);
}

.woocommerce .cart_totals table.shop_table tr.order-total th,
.woocommerce .cart_totals table.shop_table tr.order-total td {
  border-bottom: 0;
  padding-top: 14px;
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 19px;
}

.woocommerce .cart_totals .wc-proceed-to-checkout {
  padding: 16px 0 0;
}

.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: var(--nkml-head);
  font-weight: 700;
  font-size: 16px;
  border-radius: 99px;
  padding: 15px 26px;
  background: var(--nkml-orange);
  color: #fff;
  box-shadow: 0 8px 20px rgba(244, 162, 40, .30);
  transition: background .16s, transform .16s;
}

.woocommerce .cart_totals .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--nkml-orange-dark);
  transform: translateY(-2px);
}

/* Pusty koszyk */
.woocommerce .cart-empty {
  font-family: var(--nkml-head);
  font-weight: 600;
  color: var(--nkml-navy);
  font-size: 21px;
  text-align: left;
  padding: 0;
  border: 0;
}

.woocommerce .return-to-shop {
  margin-top: 16px;
}


/* ═══════════ 4 · Zamówienie ═══════════ */

.woocommerce .woocommerce-checkout {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 32px;
  align-items: start;
  margin-top: 20px;
}

@media (max-width: 900px) {
  .woocommerce .woocommerce-checkout {
    grid-template-columns: 1fr;
    gap: 24px;
  }
}

.woocommerce .woocommerce-checkout #customer_details {
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 24px;
  padding: 24px 26px;
  box-shadow: var(--nkml-shadow-sm);
}

.woocommerce .woocommerce-checkout #customer_details .col-1,
.woocommerce .woocommerce-checkout #customer_details .col-2 {
  width: auto;
  float: none;
}

.woocommerce .woocommerce-billing-fields h3,
.woocommerce-checkout h3#order_review_heading {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 20px;
  margin: 0 0 16px;
}

.woocommerce form .form-row {
  padding: 0;
  margin: 0 0 16px;
}

.woocommerce form .form-row-first,
.woocommerce form .form-row-last {
  width: calc(50% - 7px);
}

@media (max-width: 520px) {
  .woocommerce form .form-row-first,
  .woocommerce form .form-row-last {
    width: 100%;
  }
}

.woocommerce form .form-row label {
  display: block;
  font-weight: 700;
  font-size: 14px;
  color: var(--nkml-navy);
  margin-bottom: 6px;
}

.woocommerce form .form-row .required {
  color: var(--nkml-orange-dark);
  text-decoration: none;
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
  width: 100%;
  font-family: var(--nkml-body);
  font-weight: 600;
  font-size: 16px;
  color: var(--nkml-text);
  background: var(--nkml-cream);
  border: 1px solid var(--nkml-line);
  border-radius: 12px;
  padding: 13px 15px;
  transition: border-color .15s, box-shadow .15s;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus {
  outline: 0;
  border-color: var(--nkml-orange);
  box-shadow: 0 0 0 3px rgba(244, 162, 40, .18);
}

.woocommerce form .form-row .description {
  font-size: 13px;
  font-weight: 600;
  color: var(--nkml-muted);
  margin-top: 6px;
}

/* Podsumowanie zamówienia */
.woocommerce-checkout #order_review {
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 24px;
  padding: 22px 24px 24px;
  box-shadow: var(--nkml-shadow-sm);
  position: sticky;
  top: 96px;
}

@media (max-width: 900px) {
  .woocommerce-checkout #order_review { position: static; }
}

.woocommerce-checkout table.shop_table {
  border: 0;
  border-radius: 0;
  margin: 0 0 14px;
  border-collapse: collapse;
}

.woocommerce-checkout table.shop_table th,
.woocommerce-checkout table.shop_table td {
  border: 0;
  border-bottom: 1px solid #EEF2F7;
  padding: 11px 0;
  font-weight: 600;
  font-size: 15px;
  color: var(--nkml-text);
}

.woocommerce-checkout table.shop_table thead th {
  font-weight: 800;
  font-size: 11px;
  letter-spacing: .09em;
  text-transform: uppercase;
  color: var(--nkml-muted);
  padding-bottom: 8px;
}

.woocommerce-checkout table.shop_table td.product-total,
.woocommerce-checkout table.shop_table .amount {
  text-align: right;
  font-weight: 700;
  color: var(--nkml-navy);
}

.woocommerce-checkout table.shop_table tfoot tr.order-total th,
.woocommerce-checkout table.shop_table tfoot tr.order-total td {
  border-bottom: 0;
  padding-top: 14px;
  font-family: var(--nkml-head);
  font-weight: 700;
  font-size: 19px;
  color: var(--nkml-navy);
}

.woocommerce-checkout table.shop_table .variation {
  margin: 4px 0 0;
  font-size: 13px;
  color: var(--nkml-muted);
}

/* Metody płatności */
.woocommerce-checkout #payment {
  background: transparent;
  border-radius: 0;
}

.woocommerce-checkout #payment ul.payment_methods {
  border: 0;
  padding: 0;
  margin: 0 0 16px;
  display: grid;
  gap: 9px;
}

.woocommerce-checkout #payment ul.payment_methods li {
  background: var(--nkml-cream);
  border: 1.5px solid var(--nkml-line);
  border-radius: 14px;
  padding: 14px 16px;
  transition: border-color .15s, background .15s;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: #F6D699;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--nkml-head);
  font-weight: 600;
  font-size: 16px;
  color: var(--nkml-navy);
  cursor: pointer;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  width: 19px;
  height: 19px;
  accent-color: var(--nkml-orange);
}

.woocommerce-checkout #payment div.payment_box {
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 12px;
  margin: 12px 0 0;
  padding: 13px 15px;
  font-size: 14px;
  font-weight: 600;
  color: var(--nkml-muted);
}

.woocommerce-checkout #payment div.payment_box::before { display: none; }

/* Zgoda na natychmiastowe dostarczenie */
.woocommerce form .form-row.nkml-zgoda {
  background: #FFF4E0;
  border: 1px solid #F6D699;
  border-radius: 14px;
  padding: 14px 16px;
  margin: 0 0 16px;
}

.woocommerce form .form-row.nkml-zgoda label {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  font-weight: 600;
  font-size: 14px;
  color: var(--nkml-text);
  line-height: 1.5;
  margin: 0;
  cursor: pointer;
}

.woocommerce form .form-row.nkml-zgoda input[type="checkbox"] {
  flex-shrink: 0;
  width: 19px;
  height: 19px;
  margin-top: 2px;
  accent-color: var(--nkml-orange);
}

.woocommerce-checkout #payment #place_order {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  float: none;
  font-family: var(--nkml-head);
  font-weight: 700;
  font-size: 17px;
  border: 0;
  border-radius: 99px;
  padding: 16px 26px;
  background: var(--nkml-orange);
  color: #fff;
  box-shadow: 0 8px 20px rgba(244, 162, 40, .30);
  transition: background .16s, transform .16s;
}

.woocommerce-checkout #payment #place_order:hover {
  background: var(--nkml-orange-dark);
  transform: translateY(-2px);
}

.woocommerce-privacy-policy-text,
.woocommerce-terms-and-conditions-wrapper {
  font-size: 13px;
  font-weight: 600;
  color: var(--nkml-muted);
  line-height: 1.55;
}


/* ═══════════ 5 · Pobranie ═══════════ */

.nkml-dzieki {
  max-width: 760px;
  margin: 0 auto;
  padding: 26px 0 0;
  text-align: center;
}

.nkml-dzieki-ikona {
  width: 70px;
  height: 70px;
  margin: 0 auto 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #EAF7F0;
  border: 2px solid #BFE6CF;
  color: #16A06A;
}

.nkml-dzieki-ikona svg { width: 34px; height: 34px; }

.woocommerce .woocommerce-thankyou-order-received {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: clamp(25px, 3.4vw, 33px);
  line-height: 1.2;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  background: transparent;
}

.woocommerce .woocommerce-thankyou-order-details {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  justify-content: center;
  list-style: none;
  margin: 20px 0 30px;
  padding: 16px 0;
  border-top: 1px solid var(--nkml-line);
  border-bottom: 1px solid var(--nkml-line);
}

.woocommerce .woocommerce-thankyou-order-details li {
  border: 0;
  padding: 0;
  margin: 0;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--nkml-muted);
  text-align: left;
}

.woocommerce .woocommerce-thankyou-order-details li strong {
  display: block;
  font-family: var(--nkml-head);
  font-weight: 700;
  font-size: 17px;
  letter-spacing: 0;
  text-transform: none;
  color: var(--nkml-navy);
  margin-top: 3px;
}

/* Lista plików do pobrania */
.woocommerce .woocommerce-order-downloads,
.nkml-pobierz {
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  border-radius: 24px;
  padding: 24px 26px;
  box-shadow: var(--nkml-shadow-sm);
  text-align: left;
  margin: 0 0 26px;
}

.woocommerce .woocommerce-order-downloads h2,
.nkml-pobierz h2 {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 21px;
  margin: 0 0 16px;
}

.woocommerce table.shop_table.order_details,
.woocommerce table.shop_table.my_account_orders {
  border: 0;
  border-collapse: collapse;
}

.woocommerce .woocommerce-order-downloads table.shop_table {
  border: 0;
  margin: 0;
}

.woocommerce .woocommerce-order-downloads table.shop_table thead {
  display: none;
}

.woocommerce .woocommerce-order-downloads table.shop_table tr {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  background: var(--nkml-cream);
  border: 1px solid var(--nkml-line);
  border-radius: 16px;
  padding: 16px 18px;
  margin-bottom: 10px;
}

.woocommerce .woocommerce-order-downloads table.shop_table td {
  border: 0;
  padding: 0;
  font-weight: 600;
  font-size: 15px;
  color: var(--nkml-text);
}

.woocommerce .woocommerce-order-downloads table.shop_table td.download-product a {
  font-family: var(--nkml-head);
  font-weight: 600;
  font-size: 17px;
  color: var(--nkml-navy);
}

.woocommerce .woocommerce-order-downloads table.shop_table td.download-remaining,
.woocommerce .woocommerce-order-downloads table.shop_table td.download-expires {
  font-size: 13px;
  color: var(--nkml-muted);
}

.woocommerce .woocommerce-order-downloads table.shop_table td.download-file a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--nkml-head);
  font-weight: 700;
  font-size: 15px;
  color: #fff;
  background: var(--nkml-orange);
  border-radius: 99px;
  padding: 11px 22px;
  white-space: nowrap;
  box-shadow: 0 6px 16px rgba(244, 162, 40, .28);
  transition: background .16s, transform .16s;
}

.woocommerce .woocommerce-order-downloads table.shop_table td.download-file a:hover {
  background: var(--nkml-orange-dark);
  color: #fff;
  transform: translateY(-2px);
}

/* Ramka „co dalej" */
.nkml-dalej {
  background: var(--nkml-cream-2);
  border: 1px solid var(--nkml-line);
  border-radius: 20px;
  padding: 20px 24px;
  text-align: left;
}

.nkml-dalej h3 {
  font-family: var(--nkml-head);
  font-weight: 700;
  color: var(--nkml-navy);
  font-size: 17px;
  margin: 0 0 8px;
}

.nkml-dalej p {
  margin: 0;
  font-weight: 600;
  font-size: 14.5px;
  color: var(--nkml-text);
  line-height: 1.6;
}


/* ═══════════ Wspólne ═══════════ */

/* WooCommerce dodaje własne przyciski w wielu miejscach — sprowadzamy je
   do jednego wyglądu, żeby nie wyskakiwały fioletowe prostokąty. */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  font-family: var(--nkml-head);
  font-weight: 700;
  font-size: 15px;
  border: 0;
  border-radius: 99px;
  padding: 12px 24px;
  background: var(--nkml-navy);
  color: #fff;
  transition: background .16s, transform .16s;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: var(--nkml-navy-dark);
  color: #fff;
  transform: translateY(-2px);
}

.woocommerce a.button.alt,
.woocommerce button.button.alt {
  background: var(--nkml-orange);
}

.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover {
  background: var(--nkml-orange-dark);
}

/* Paginacja */
.woocommerce nav.woocommerce-pagination ul {
  border: 0;
  display: flex;
  gap: 6px;
  justify-content: center;
  margin: 34px 0 0;
}

.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
  margin: 0;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-width: 40px;
  padding: 9px 13px;
  border-radius: 12px;
  background: var(--nkml-white);
  border: 1px solid var(--nkml-line);
  font-weight: 700;
  color: var(--nkml-navy);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--nkml-navy);
  border-color: var(--nkml-navy);
  color: #fff;
}

/* 2026-09-27: wspolny uklad wszystkich produktow i pelne, rowne pola okladek. */
.woocommerce div.product > div.summary { position:static; top:auto; align-self:start; min-width:0; }
.woocommerce div.product > * { min-width:0; }
.woocommerce div.product > .nkml-opis,
.woocommerce div.product > .nkml-dobrane { grid-column:1 / -1; }
.woocommerce ul.products, .woocommerce-page ul.products { grid-template-columns:repeat(auto-fill,minmax(min(100%,292px),1fr)); }
.woocommerce ul.products li.product { min-width:0; }
.woocommerce ul.products li.product a img { display:block; width:100% !important; height:auto !important; aspect-ratio:1 / 1 !important; object-fit:contain !important; object-position:center; box-sizing:border-box; padding:20px !important; background:#f4eee5; }
.woocommerce ul.products li.product .nkml-karta-stopka,
.woocommerce ul.products li.product .nkml-karta-fakty { flex-wrap:wrap; gap:12px; }
@media(max-width:900px) { .woocommerce div.product { grid-template-columns:minmax(0,1fr); } }

/* Czytelne potwierdzenie koszyka, bez plywajacego przycisku i ramki fokusu alertu. */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info { display:flex; align-items:center; flex-wrap:wrap; gap:12px 20px; padding:18px 20px; border:1px solid var(--nkml-line); border-left:4px solid var(--nkml-orange); border-radius:16px; background:var(--nkml-white); line-height:1.6; }
.woocommerce .woocommerce-message:focus,
.woocommerce .woocommerce-info:focus { outline:none; }
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before { display:none; }
.woocommerce .woocommerce-message .button,
.woocommerce .woocommerce-info .button { float:none; margin:0 0 0 auto; flex-shrink:0; min-height:44px; }
@media(max-width:560px) {
 .woocommerce .woocommerce-message,.woocommerce .woocommerce-info { padding:16px; }
 .woocommerce .woocommerce-message .button,.woocommerce .woocommerce-info .button { width:100%; margin:0; text-align:center; }
}

/* Audyt lesnej serii v2.1: panel zakupu przed podgladem na telefonie. */
@media (max-width:900px){
 body:is(.postid-2215,.postid-2226,.postid-2230,.postid-2237,.postid-2264) .product > .images{grid-row:2;order:0;float:none;width:100%;}
 body:is(.postid-2215,.postid-2226,.postid-2230,.postid-2237,.postid-2264) .product > .summary{grid-row:1;order:0;}
}
@media (max-width:600px){
 body:is(.postid-2215,.postid-2226,.postid-2230,.postid-2237,.postid-2264) .cmplz-cookiebanner{padding:12px!important;gap:8px!important;max-height:65vh!important;overflow:auto;}
 body:is(.postid-2215,.postid-2226,.postid-2230,.postid-2237,.postid-2264) .cmplz-cookiebanner .cmplz-body{max-height:100px;overflow:auto;}
 body:is(.postid-2215,.postid-2226,.postid-2230,.postid-2237,.postid-2264) .cmplz-cookiebanner .cmplz-message{font-size:13px;line-height:1.4;}
 body:is(.postid-2215,.postid-2226,.postid-2230,.postid-2237,.postid-2264) .cmplz-logo svg{max-height:32px;}
}
/* Dwa odnosniki prowadza do tej samej polityki; pozostaje privacy-statement. */
body:is(.postid-2215,.postid-2226,.postid-2230,.postid-2237,.postid-2264) .cmplz-documents li:has(a.cookie-statement){display:none;}

/* Paginacja sklepu: bez znacznikow listy i nakladajacych sie dekoracji. */
body nav.woocommerce-pagination { clear:both; margin:32px 0; }
body nav.woocommerce-pagination ul.page-numbers { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:10px; list-style:none !important; padding:0 !important; margin:0 !important; border:0; overflow:visible; }
body nav.woocommerce-pagination ul.page-numbers > li { display:block; flex:0 0 auto; float:none; list-style:none !important; border:0; padding:0 !important; margin:0 !important; background:none; }
body nav.woocommerce-pagination ul.page-numbers > li::before, body nav.woocommerce-pagination ul.page-numbers > li::after { content:none !important; display:none !important; }
body nav.woocommerce-pagination ul.page-numbers > li::marker { content:""; }
body nav.woocommerce-pagination ul.page-numbers > li > :is(a,span) { display:flex; align-items:center; justify-content:center; box-sizing:border-box; min-width:46px; min-height:46px; padding:10px 14px; margin:0; line-height:1; text-decoration:none; border:1px solid #e6ddcf; border-radius:12px; background:#fff; color:#193b5e; font-weight:800; }
body nav.woocommerce-pagination ul.page-numbers > li > span.current { background:#193b5e; border-color:#193b5e; color:#fff; }
body nav.woocommerce-pagination ul.page-numbers > li > a:hover { background:#fff4df; border-color:#f4a228; color:#193b5e; }
body nav.woocommerce-pagination ul.page-numbers > li > a:focus-visible { outline:3px solid #f4a228; outline-offset:3px; }
