/*
Theme Name: Kuterfish
Theme URI: https://kuterfish.pl
Author: Kuterfish
Description: Motyw sklepu Kuterfish dla WooCommerce. Turkus z logo jako akcent, grafitowe przyciski, Plus Jakarta Sans.
Version: 5.0.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: kuterfish
WC requires at least: 8.0
*/

/* =========================================================
   1. Tokeny
   ========================================================= */
:root {
  --ink: #2b2a2b;          /* tekst i przyciski (grafit z logo, przyciemniony) */
  --ink-2: #4a4748;        /* tekst pomocniczy */
  --muted: #6e6a6b;        /* podpisy */
  --primary: #55c4cf;      /* turkus z logo — tylko akcenty */
  --primary-ink: #157680;  /* turkus do tekstu (kontrast AA) */
  --red: #d93a3f;          /* promocje i rabaty */
  --green: #3f7d2e;
  --bg: #ffffff;           /* tło strony */
  --surface: #ffffff;
  --soft: #f5f6f7;         /* tło zdjęć i kafli (neutralna szarość) */
  --line: #e7e9ec;         /* obramowania */
  --line-2: #d5d9de;
  --r: 10px;
  --r-sm: 6px;
  --r-btn: 8px;
  --shadow: 0 8px 24px rgba(43,42,43,.08);
  --shadow-lg: 0 20px 50px rgba(43,42,43,.2);
  --font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}

/* =========================================================
   2. Baza
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font); font-size: 15px; line-height: 1.6; color: var(--ink); background: var(--bg); -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body.no-scroll { overflow: hidden; }
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
button, input, select, textarea { font: inherit; color: inherit; }
h1, h2, h3, h4 { margin: 0 0 .5em; line-height: 1.15; font-weight: 800; letter-spacing: -.025em; color: var(--ink); }
h1 { font-size: clamp(1.6rem, 3vw, 2.1rem); }
h2 { font-size: clamp(1.25rem, 2vw, 1.5rem); }
h3 { font-size: 1.05rem; }
p { margin: 0 0 1em; }
.wrap { width: min(1280px, 100% - 32px); margin-inline: auto; }
.ic { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus { left: 16px; top: 16px; z-index: 100; background: #fff; padding: 8px 14px; border-radius: var(--r-sm); }
:focus-visible { outline: 2px solid var(--primary-ink); outline-offset: 2px; }
.kicker { display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--primary-ink); margin-bottom: 8px; }
.script { color: var(--primary-ink); }
.tag { display: inline-block; font-size: .72rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; padding: 4px 10px; border-radius: var(--r-sm); background: var(--primary); color: var(--ink); }
.tag--dark { background: var(--red); color: #fff; }

/* =========================================================
   3. Przyciski
   ========================================================= */
.btn, .button, button.button, input.button, a.button, .single_add_to_cart_button, .checkout-button, #place_order {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px;
  border: 0; border-radius: var(--r-btn); background: var(--ink); color: #fff; font-weight: 700; font-size: .9rem;
  text-decoration: none; cursor: pointer; white-space: nowrap; transition: background .15s, transform .1s; }
.btn:hover, .button:hover, .single_add_to_cart_button:hover, #place_order:hover { background: #111; color: #fff; }
.btn:active, .add:active { transform: translateY(1px); }
.btn--lg { min-height: 48px; padding: 0 24px; font-size: .95rem; }
.btn--block { width: 100%; }
.btn:disabled, .button:disabled { opacity: .4; cursor: not-allowed; }

/* =========================================================
   4. Pasek górny + nagłówek
   ========================================================= */
.ribbon { background: var(--ink); color: #fff; font-size: .78rem; }
.ribbon__in { display: flex; justify-content: center; gap: 32px; padding: 7px 0; }
.ribbon span { display: inline-block; }
.ribbon b { color: var(--primary); }
.ribbon .ic { width: 16px; height: 16px; vertical-align: -3px; margin-right: 4px; }

.header { position: sticky; top: 0; z-index: 40; background: #fff; box-shadow: 0 1px 0 var(--line); }
.header__in { display: flex; align-items: center; gap: 24px; height: 70px; }
.logo img { height: 44px; width: auto; }
.hsearch { flex: 1; max-width: 560px; display: flex; height: 42px; border: 1.5px solid var(--line-2); border-radius: var(--r-btn); overflow: hidden; background: #fff; transition: border-color .15s; }
.hsearch:focus-within { border-color: var(--ink); }
.hsearch input { flex: 1; min-width: 0; border: 0; outline: 0; padding: 0 14px; font-size: 15px; background: transparent; }
.hsearch input::placeholder { color: var(--muted); }
.hsearch button { display: flex; align-items: center; gap: 8px; border: 0; background: var(--ink); color: #fff; font-weight: 700; font-size: .88rem; padding: 0 16px; cursor: pointer; }
.header__actions { margin-left: auto; display: flex; align-items: center; gap: 22px; }
.hlink, .hcart { display: flex; align-items: center; gap: 10px; text-decoration: none; font-weight: 700; font-size: .84rem; color: var(--ink); }
.hlink .ic { width: 22px; height: 22px; }
.hlink small, .hcart small { display: block; font-size: .68rem; font-weight: 500; color: var(--muted); line-height: 1.2; }
.hcart__ic { position: relative; width: 42px; height: 42px; border-radius: var(--r-btn); background: var(--ink); color: #fff; display: grid; place-items: center; }
.hcart__ic .ic { width: 20px; height: 20px; }
.cart-count { position: absolute; top: -7px; right: -7px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--primary); color: var(--ink); font-size: .72rem; font-weight: 800; display: grid; place-items: center; border: 2px solid #fff; }
.cart-count.bump { animation: bump .4s; }
@keyframes bump { 50% { transform: scale(1.3); } }
.cart-total { white-space: nowrap; }
.burger { display: none; width: 46px; height: 46px; border: 1.5px solid var(--line); border-radius: var(--r-btn); background: #fff; place-items: center; cursor: pointer; color: var(--ink); }

/* Menu sklepu */
.cnav { position: relative; background: #fff; border-top: 1px solid var(--line); }
.cnav__head { display: none; }
.cnav__in { display: flex; align-items: center; gap: 2px; }
.cnav .cnav__link { display: inline-flex; align-items: center; gap: 6px; padding: 12px 13px; font-size: .86rem; font-weight: 600; color: var(--ink); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; transition: color .15s, border-color .15s; }
.cnav .cnav__link:hover { color: var(--primary-ink); }
.cnav .cnav__link.is-active { border-bottom-color: var(--primary); }
.cnav .cnav__link .ic { width: 16px; height: 16px; }
.cnav__thumb { display: none; }
.cnav .cnav__shop { font-weight: 800; }
.cnav__shop .ic { transition: transform .2s; }
.cnav__deal small { background: var(--red); color: #fff; font-size: .7rem; font-weight: 800; padding: 2px 6px; border-radius: 4px; }
.cnav .cnav__minor { color: var(--ink-2); font-weight: 500; font-size: .82rem; }
.cnav__minor .ic { color: var(--muted); }
.cnav__spacer { flex: 1; }
.nav__mobile, .nav__close { display: none !important; }
.mega { position: absolute; left: 0; right: 0; top: 100%; z-index: 30; background: #fff; border-top: 1px solid var(--line); box-shadow: 0 20px 40px rgba(43,42,43,.12); opacity: 0; visibility: hidden; transform: translateY(-4px); transition: opacity .18s, transform .18s, visibility .18s; }
.has-mega:hover .mega, .has-mega:focus-within .mega { opacity: 1; visibility: visible; transform: none; }
.has-mega:hover .cnav__shop .ic { transform: rotate(180deg); }
.mega__in { display: grid; grid-template-columns: 1fr 230px; gap: 28px; padding: 22px 0 26px; }
.mega__cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.mega__cat { display: flex; flex-direction: column; text-decoration: none; color: var(--ink); padding: 10px; border-radius: var(--r); transition: background .15s; }
.mega__cat:hover { background: var(--soft); }
.mega__img { aspect-ratio: 4/3; border-radius: var(--r-sm); background: var(--soft); display: grid; place-items: center; overflow: hidden; margin-bottom: 10px; }
.mega__img img { width: 70%; height: 90%; object-fit: contain; }
.mega__img.is-photo img { width: 100%; height: 100%; object-fit: cover; }
.mega__cat b { font-size: .98rem; }
.mega__cat small { color: var(--muted); font-size: .8rem; }
.mega__side { display: flex; flex-direction: column; border-left: 1px solid var(--line); padding-left: 24px; }
.mega__side a { text-decoration: none; color: var(--ink-2); padding: 7px 0; font-size: .92rem; }
.mega__side a:hover { color: var(--primary-ink); }
.mega__side .mega__all { color: var(--ink); font-weight: 800; margin-bottom: 6px; }

/* =========================================================
   5. Strona główna
   ========================================================= */
.promo { padding: 20px 0 8px; }
.promo__grid { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; }
.promo__main { display: grid; grid-template-columns: 1.1fr 1fr; align-items: center; min-height: 310px; padding: 30px 34px; border-radius: var(--r); background: var(--soft); border: 1px solid var(--line); text-decoration: none; color: var(--ink); overflow: hidden; }
.promo__main h1 { font-size: clamp(1.6rem, 2.7vw, 2.3rem); margin: 12px 0 10px; }
.promo__main p { color: var(--ink-2); margin-bottom: 20px; }
.promo__jars { position: relative; height: 100%; min-height: 230px; }
.pj { position: absolute; bottom: 0; filter: drop-shadow(0 14px 14px rgba(43,42,43,.25)); }
.pj img { width: 100%; }
.pj--1 { width: 46%; left: 0; transform: rotate(-6deg); }
.pj--2 { width: 54%; left: 24%; bottom: 6%; z-index: 2; }
.pj--3 { width: 44%; right: -2%; transform: rotate(7deg); }
.promo__side { display: grid; gap: 16px; }
.promo__tile { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 4px; min-height: 147px; padding: 20px; border-radius: var(--r); border: 1px solid var(--line); background: #fff; text-decoration: none; color: var(--ink); overflow: hidden; }
.promo__tile .tag { position: absolute; top: 16px; left: 20px; }
.promo__tile b { font-size: 1.25rem; font-weight: 800; letter-spacing: -.015em; line-height: 1.2; }
.promo__tile small { color: var(--muted); font-size: .86rem; }
.promo__tile--fish { border: 0; color: #fff; background-image: linear-gradient(90deg, rgba(30,29,30,.85), rgba(30,29,30,.15)), var(--img); background-size: cover; background-position: center; }
.promo__tile--fish small { color: #e2e0e0; }
.promo__tile--fish .tag { background: #fff; }

.quick { padding: 8px 0 4px; }
.quick__row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.quick__item { display: flex; align-items: center; gap: 12px; padding: 10px 14px 10px 10px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); text-decoration: none; transition: border-color .15s, box-shadow .15s; }
.quick__item:hover { border-color: var(--line-2); box-shadow: var(--shadow); }
.quick__img { width: 54px; height: 54px; flex: none; border-radius: var(--r-sm); background: var(--soft); display: grid; place-items: center; overflow: hidden; }
.quick__img img { width: 88%; height: 88%; object-fit: contain; }
.quick__img.is-photo img { width: 100%; height: 100%; object-fit: cover; }
.quick__item b { display: block; font-size: .95rem; }
.quick__item small { color: var(--muted); font-size: .8rem; }

.shelf { padding: 30px 0; }
.shelf__head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin-bottom: 16px; }
.shelf__head h2 { margin: 0; }
.shelf__head p { margin: 2px 0 0; color: var(--muted); font-size: .86rem; }
.shelf__more { font-weight: 700; font-size: .86rem; color: var(--primary-ink); text-decoration: none; white-space: nowrap; }
.shelf__more:hover { text-decoration: underline; }

.bundle-strip { display: flex; align-items: center; gap: 22px; padding: 18px 22px; border-radius: var(--r); background: var(--soft); border: 1px solid var(--line); text-decoration: none; color: var(--ink); }
.bundle-strip__slots { display: flex; gap: 6px; flex: none; }
.bundle-strip__slots i { width: 52px; height: 52px; border-radius: var(--r-sm); background: #fff; border: 1px solid var(--line); display: grid; place-items: center; font-style: normal; font-weight: 700; color: var(--muted); overflow: hidden; }
.bundle-strip__slots i:nth-child(n+5) { background: transparent; border: 1.5px dashed var(--line-2); }
.bundle-strip__slots img { width: 86%; height: 86%; object-fit: contain; }
.bundle-strip__txt { flex: 1; }
.bundle-strip__txt b { display: block; font-size: 1.15rem; font-weight: 800; letter-spacing: -.015em; }
.bundle-strip__txt small { color: var(--muted); font-size: .88rem; }

.trust { padding: 10px 0; }
.trust__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.trust__grid > div { display: flex; align-items: center; gap: 12px; padding: 14px 16px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); }
.trust .ic { width: 30px; height: 30px; color: var(--primary-ink); }
.trust p { margin: 0; font-size: .82rem; color: var(--muted); line-height: 1.35; }
.trust b { display: block; color: var(--ink); font-size: .92rem; }

.faq { max-width: 860px; }
.faq details { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 2px 20px; margin-bottom: 8px; }
.faq summary { cursor: pointer; font-weight: 700; padding: 14px 0; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; font-size: 1.3rem; line-height: 1; color: var(--primary-ink); }
.faq details[open] summary::after { content: "–"; }
.faq details p { color: var(--ink-2); margin: 0 0 16px; }

/* =========================================================
   6. Karty produktów (listing + półki)
   ========================================================= */
ul.products { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
ul.products::before, ul.products::after { display: none; }
.card { position: relative; display: flex; flex-direction: column; margin: 0; background: #fff; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; transition: box-shadow .2s, transform .2s; }
.card:hover { box-shadow: var(--shadow); transform: translateY(-2px); }
.card__media { position: relative; display: block; aspect-ratio: 1; background: var(--soft); overflow: hidden; }
.card__media img { width: 100%; height: 100%; object-fit: contain; padding: 16px; transition: transform .3s; }
.card__media img.cover { object-fit: cover; padding: 0; }
.card:hover .card__media img { transform: scale(1.04); }
.card__label { padding: 14px 14px 4px; display: flex; flex-direction: column; gap: 3px; }
.card__cat { font-size: .7rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.card__name { font-weight: 700; font-size: .9rem; line-height: 1.3; color: var(--ink); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 2.6em; }
.card__name:hover { color: var(--primary-ink); }
.card__meta { font-size: .76rem; color: var(--muted); display: flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
.flav { font-style: normal; font-size: .68rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; padding: 1px 6px; border-radius: 4px; background: var(--soft); color: var(--ink-2); }
.flav--ostre { background: #fde7e7; color: #a5282c; }
.flav--eko { background: #e7f1e1; color: var(--green); }
.card__foot { margin-top: auto; padding: 10px 14px 14px; display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; }
.price { font-weight: 800; font-size: 1.08rem; letter-spacing: -.01em; color: var(--ink); line-height: 1.15; }
.price del { display: block; font-weight: 500; font-size: .8rem; color: var(--muted); }
.price ins { text-decoration: none; color: var(--red); }
.unit { display: block; font-size: .72rem; font-weight: 500; color: var(--muted); letter-spacing: 0; }
.add { flex: none; display: inline-flex; align-items: center; gap: 6px; height: 38px; padding: 0 12px 0 9px; border-radius: var(--r-btn); background: var(--ink); color: #fff; text-decoration: none; font-weight: 700; font-size: .8rem; white-space: nowrap; transition: background .15s; }
.add:hover { background: #111; }
.add__plus { display: grid; place-items: center; }
.add__plus .ic { width: 17px; height: 17px; }
.add.loading { opacity: .55; pointer-events: none; }
.add.added { background: var(--primary-ink); }
a.added_to_cart { display: none; }
.badge { position: absolute; top: 10px; left: 10px; z-index: 2; padding: 3px 7px; border-radius: var(--r-sm); background: var(--ink); color: #fff; font-size: .64rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2; }
.badge--promocja, .badge--ostra, .badge--hit { background: var(--red); }
.badge--eko, .badge--eko-kasza { background: var(--green); }
.badge--nowosc { background: var(--primary); color: var(--ink); }

/* =========================================================
   7. Listing (kategorie, tagi, wyszukiwanie)
   ========================================================= */
.listing-hero { background: #fff; border-bottom: 1px solid var(--line); padding: 20px 0 22px; }
.listing-hero__title { margin: 4px 0 4px; }
.listing-hero__desc { color: var(--ink-2); max-width: 720px; }
.listing-hero__desc p { margin: 0; }
.filters { display: grid; gap: 10px; margin-top: 16px; }
.filters__row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.filters__lbl { width: 130px; flex: none; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.chip { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1.5px solid var(--line); border-radius: var(--r-btn); background: #fff; color: var(--ink); text-decoration: none; font-weight: 600; font-size: .82rem; white-space: nowrap; transition: border-color .15s; }
.chip:hover { border-color: var(--ink); }
.chip small { margin-left: 6px; color: var(--muted); font-weight: 600; }
.chip[aria-current="page"] { background: var(--ink); border-color: var(--ink); color: #fff; }
.chip[aria-current="page"] small { color: #c9c6c7; }
.chip--flav.flav--ostre { color: #a5282c; }
.chip--flav.flav--eko { color: var(--green); }
.chip--occ { border-style: dashed; }
.page-wrap { padding: 24px 0 64px; }
.sortbar { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.woocommerce-result-count { margin: 0; color: var(--muted); font-size: .9rem; }
.woocommerce-ordering { margin: 0; }
.woocommerce-ordering select { height: 44px; padding: 0 36px 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-btn); background: #fff; font-weight: 600; font-size: .9rem; color: var(--ink); }
.woocommerce-breadcrumb { font-size: .82rem; color: var(--muted); margin-bottom: 6px; }
.woocommerce-breadcrumb a { color: var(--ink-2); text-decoration: none; }
.woocommerce-breadcrumb a:hover { text-decoration: underline; }
.woocommerce-breadcrumb .sep { margin: 0 8px; color: var(--line-2); }
.woocommerce-pagination ul { list-style: none; display: flex; justify-content: center; gap: 6px; padding: 0; margin: 32px 0 0; }
.woocommerce-pagination a, .woocommerce-pagination span { display: grid; place-items: center; min-width: 44px; height: 44px; padding: 0 10px; border: 1.5px solid var(--line); border-radius: var(--r-btn); background: #fff; text-decoration: none; font-weight: 700; color: var(--ink); }
.woocommerce-pagination a:hover { border-color: var(--ink); }
.woocommerce-pagination span.current { background: var(--ink); border-color: var(--ink); color: #fff; }
.woocommerce-info, .woocommerce-message, .woocommerce-error { list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 16px; padding: 12px 16px; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--primary); border-radius: var(--r-sm); }
.woocommerce-error { border-left-color: var(--red); }
.woocommerce-notices-wrapper:empty { display: none; }

/* =========================================================
   8. Strona produktu
   ========================================================= */
.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.single-product div.product > * { min-width: 0; }
.single-product div.product > .onsale { display: none; }
.woocommerce-product-gallery { position: relative; background: var(--soft); border-radius: var(--r); padding: 24px; }
.woocommerce-product-gallery__wrapper { margin: 0; }
.woocommerce-product-gallery img { width: 100%; height: auto; border-radius: var(--r-sm); }
.woocommerce-product-gallery .zoomImg { position: absolute; top: 0; left: 0; }
.woocommerce-product-gallery__trigger { position: absolute; top: 34px; right: 34px; z-index: 2; width: 40px; height: 40px; border-radius: var(--r-sm); background: #fff; display: grid; place-items: center; text-decoration: none; font-size: 0; box-shadow: var(--shadow); }
.woocommerce-product-gallery__trigger::before { content: "⤢"; font-size: 1rem; color: var(--ink); }
.woocommerce-product-gallery__trigger img, .woocommerce-product-gallery__trigger span { display: none !important; }
.flex-control-thumbs { list-style: none; display: flex; gap: 8px; padding: 10px 0 0; margin: 0; }
.flex-control-thumbs li { width: 72px; }
.summary { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 30px; }
.summary .product_title { font-size: clamp(1.4rem, 2.4vw, 1.8rem); margin-bottom: 6px; }
.kf-meta { margin: 0 0 6px; color: var(--muted); font-size: .9rem; }
.summary .price { font-size: 1.6rem; margin: 8px 0 12px; }
.summary .price del { display: inline; font-size: 1.05rem; margin-right: 8px; }
.woocommerce-product-details__short-description { color: var(--ink-2); }
form.cart { display: flex; gap: 12px; align-items: center; margin: 20px 0; }
.quantity .qty, input.qty { width: 84px; height: 52px; border: 1.5px solid var(--line-2); border-radius: var(--r-btn); text-align: center; font-weight: 700; font-size: 16px; background: #fff; }
.single_add_to_cart_button { flex: 1; min-height: 52px; font-size: 1rem; }
.kf-feats { list-style: none; padding: 0; margin: 4px 0 16px; display: grid; gap: 6px; font-size: .92rem; }
.kf-feats li::before { content: "✓"; margin-right: 8px; font-weight: 800; color: var(--primary-ink); }
.product_meta { display: grid; gap: 3px; font-size: .82rem; color: var(--muted); }
.product_meta a { color: var(--ink-2); }
.woocommerce-tabs { grid-column: 1 / -1; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 0 30px 24px; }
.woocommerce-tabs ul.tabs { list-style: none; display: flex; gap: 26px; padding: 0; margin: 0 0 8px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.woocommerce-tabs ul.tabs li { flex: none; }
.woocommerce-tabs ul.tabs li a { display: block; padding: 16px 0; text-decoration: none; font-weight: 700; color: var(--muted); border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; }
.woocommerce-tabs ul.tabs li.active a { color: var(--ink); border-color: var(--primary); }
.woocommerce-tabs .panel h2:first-child { display: none; }
table.shop_attributes { width: 100%; border-collapse: collapse; }
table.shop_attributes th, table.shop_attributes td { text-align: left; padding: 10px 0; border-bottom: 1px solid var(--line); }
.related, .upsells { grid-column: 1 / -1; margin-top: 24px; }

/* =========================================================
   9. Kreator zestawu
   ========================================================= */
.builder { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 28px; align-items: start; }
.builder__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.bitem { position: relative; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 14px; text-align: center; transition: border-color .15s, box-shadow .15s; }
.bitem.is-on { border-color: var(--ink); box-shadow: 0 0 0 1px var(--ink); }
.bitem__img { position: relative; aspect-ratio: 1; background: var(--soft); border-radius: var(--r-sm); margin-bottom: 10px; cursor: pointer; }
.bitem__img img { width: 100%; height: 100%; object-fit: contain; padding: 10px; }
.bitem__img .badge { top: 6px; left: 6px; font-size: .72rem; }
.bitem__name { display: block; font-weight: 700; line-height: 1.3; font-size: .95rem; }
.bitem__meta { font-size: .82rem; color: var(--muted); }
.bqty { display: inline-flex; align-items: center; gap: 4px; margin-top: 10px; padding: 3px; border-radius: var(--r-btn); background: var(--soft); }
.bqty button { width: 38px; height: 38px; border: 0; border-radius: var(--r-sm); background: #fff; color: var(--ink); font-weight: 800; font-size: 1.1rem; cursor: pointer; }
.bqty button[data-d="1"] { background: var(--ink); color: #fff; }
.bqty span { min-width: 28px; font-weight: 800; }
.builder__box { position: sticky; top: 140px; background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 22px; }
.builder__box h3 { margin-bottom: 14px; }
.builder__slots { display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; }
.slot { aspect-ratio: 1; border-radius: var(--r-sm); border: 1.5px dashed var(--line-2); display: grid; place-items: center; color: var(--muted); font-weight: 700; background: var(--bg); overflow: hidden; }
.slot.is-full { border: 1px solid var(--line); background: #fff; }
.slot img { width: 82%; height: 82%; object-fit: contain; }
.builder__msg { margin: 14px 0; font-size: .9rem; color: var(--ink-2); }
.builder__sum { display: grid; gap: 4px; margin-bottom: 16px; padding-top: 12px; border-top: 1px solid var(--line); font-size: .92rem; }
.builder__sum div { display: flex; justify-content: space-between; }
.builder__sum .disc { color: var(--red); font-weight: 700; }
.builder__sum .total { font-size: 1.25rem; font-weight: 800; padding-top: 6px; }
.note { margin: 10px 0 0; font-size: .78rem; color: var(--muted); }

/* =========================================================
   10. Strony: koszyk, kasa, konto, treści
   ========================================================= */
.section { padding: 32px 0 64px; }
.page-section { padding: 28px 0 64px; }
.page-section > .wrap { background: #fff; border: 1px solid var(--line); border-radius: var(--r); padding: 30px 34px; }
.page-section .page-title { margin-bottom: 18px; }
.prose { max-width: 860px; }
.prose p, .prose li { color: var(--ink-2); }
.wc-page .wc-block-components-button:not(.is-link), .wc-page .wc-block-cart__submit-button, .wc-page .wc-block-components-checkout-place-order-button { background: var(--ink) !important; color: #fff !important; border-radius: var(--r-btn) !important; font-weight: 700; min-height: 52px; }
.wc-page .wc-block-components-text-input input, .wc-page .wc-blocks-components-select__select { border-radius: var(--r-btn) !important; }
.kf-ship { padding: 12px 20px; font-size: .88rem; background: var(--soft); }
.page-section .kf-ship { border-radius: var(--r-sm); margin-bottom: 14px; }
.kf-ship .bar { height: 6px; margin-top: 7px; border-radius: 3px; background: var(--line-2); overflow: hidden; }
.kf-ship .bar i { display: block; height: 100%; border-radius: 3px; background: var(--ink); transition: width .4s; }
.kf-bundle { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; padding: 12px 20px; font-size: .88rem; background: #fff; border-bottom: 1px solid var(--line); }
.page-section .kf-bundle { border: 1px solid var(--line); border-radius: var(--r-sm); margin-bottom: 18px; }
.kf-bundle i { width: 14px; height: 14px; border-radius: 50%; border: 2px solid var(--ink); }
.kf-bundle i.on { background: var(--ink); }
.kf-bundle span { margin-left: 8px; }
.woocommerce-account .woocommerce { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 32px; }
.woocommerce-MyAccount-navigation ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 4px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: var(--r-sm); text-decoration: none; font-weight: 600; }
.woocommerce-MyAccount-navigation .is-active a { background: var(--soft); }
.woocommerce form .form-row { display: flex; flex-direction: column; gap: 6px; margin: 0 0 14px; }
.woocommerce form .input-text, .woocommerce form select { width: 100%; height: 48px; padding: 0 14px; border: 1.5px solid var(--line-2); border-radius: var(--r-btn); background: #fff; font-size: 16px; }
.woocommerce form .input-text:focus { outline: 0; border-color: var(--ink); }
.password-input { position: relative; display: block; }
.password-input input { padding-right: 52px !important; }
.show-password-input { position: absolute; right: 4px; top: 50%; transform: translateY(-50%); width: 44px; height: 40px; border: 0; background: transparent; cursor: pointer; }
.show-password-input::before { content: "👁"; opacity: .55; }
.show-password-input.display-password::before { opacity: 1; }
.woocommerce-form-login__rememberme { display: flex; align-items: center; gap: 8px; margin: 4px 0 14px; }
.woocommerce-form-login__submit, .woocommerce-form-register__submit { width: 100%; }

/* =========================================================
   11. Szuflada koszyka + dolny pasek (telefon)
   ========================================================= */
.overlay { position: fixed; inset: 0; z-index: 50; background: rgba(30,29,30,.5); }
.drawer { position: fixed; top: 0; right: 0; z-index: 60; display: flex; flex-direction: column; width: min(420px, 100%); height: 100%; background: #fff; box-shadow: var(--shadow-lg); transform: translateX(100%); transition: transform .3s cubic-bezier(.2,.8,.2,1); }
.drawer.open { transform: none; }
.drawer__head { display: flex; justify-content: space-between; align-items: center; padding: 16px 20px; border-bottom: 1px solid var(--line); }
.drawer__head h3 { margin: 0; }
.icon-btn { width: 42px; height: 42px; border: 1.5px solid var(--line); border-radius: var(--r-btn); background: #fff; cursor: pointer; }
.drawer .widget_shopping_cart_content { flex: 1; display: flex; flex-direction: column; overflow-y: auto; padding: 4px 20px calc(20px + env(safe-area-inset-bottom)); }
.woocommerce-mini-cart { list-style: none; padding: 0; margin: 0; flex: 1; }
.woocommerce-mini-cart-item { position: relative; display: grid; grid-template-columns: 64px 1fr; column-gap: 14px; padding: 14px 32px 14px 0; border-bottom: 1px solid var(--line); font-size: .9rem; }
.woocommerce-mini-cart-item > a:not(.remove) { display: contents; font-weight: 700; text-decoration: none; }
.woocommerce-mini-cart-item img { grid-row: span 2; width: 64px; height: 64px; object-fit: cover; border-radius: var(--r-sm); background: var(--soft); }
.woocommerce-mini-cart-item .quantity { grid-column: 2; color: var(--muted); }
.woocommerce-mini-cart-item .remove { position: absolute; right: 0; top: 12px; width: 28px; height: 28px; display: grid; place-items: center; text-decoration: none; color: var(--muted); font-size: 1.3rem; }
.woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 0; padding: 16px 0 12px; font-size: 1.1rem; }
.woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.woocommerce-mini-cart__buttons .button { width: 100%; }
.woocommerce-mini-cart__buttons .button:not(.checkout) { background: #fff; color: var(--ink); border: 1.5px solid var(--line-2); }
.woocommerce-mini-cart__empty-message { text-align: center; color: var(--muted); padding: 60px 0; }
.mbar { display: none; }

/* =========================================================
   12. Stopka
   ========================================================= */
.footer { margin-top: 24px; padding: 56px 0 22px; background: var(--ink); color: #d6d3d4; font-size: .92rem; }
.footer__top { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 32px; }
.footer__logo { height: 52px; width: auto; filter: brightness(0) invert(1); margin-bottom: 10px; }
.footer .script { color: var(--primary); font-weight: 700; margin-bottom: 6px; }
.footer h4 { color: #fff; font-size: 1rem; margin-bottom: 12px; }
.footer a { display: block; padding: 3px 0; text-decoration: none; }
.footer a:hover { color: #fff; }
.footer__bottom { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-top: 40px; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.14); font-size: .8rem; color: #a5a1a2; }

/* =========================================================
   13. Responsywność
   ========================================================= */
@media (max-width: 1200px) {
  ul.products.columns-5 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .shelf ul.products.columns-5 li:nth-child(n+9) { display: none; }
}
@media (max-width: 1100px) {
  .hide-md { display: none !important; }
  .header__in { gap: 14px; }
  .burger { display: grid; }
  .cnav { position: fixed; inset: 0 auto 0 0; z-index: 70; width: min(340px, 88%); overflow-y: auto; border: 0; box-shadow: var(--shadow-lg); transform: translateX(-100%); transition: transform .3s; }
  body.nav-open .cnav { transform: none; }
  body.nav-open::after { content: ""; position: fixed; inset: 0; z-index: 65; background: rgba(30,29,30,.5); }
  body.nav-open .header { z-index: 80; }
  .cnav__head { display: flex; align-items: center; justify-content: space-between; position: sticky; top: 0; z-index: 1; padding: 14px 16px; background: #fff; border-bottom: 1px solid var(--line); }
  .cnav__head img { height: 38px; width: auto; }
  .cnav__head .nav__close { display: grid !important; place-items: center; width: 42px; height: 42px; border: 1.5px solid var(--line); border-radius: var(--r-btn); background: #fff; cursor: pointer; }
  .cnav__in { flex-direction: column; align-items: stretch; gap: 0; width: 100%; padding: 8px 12px 24px; }
  .has-mega .mega { display: none; }
  .cnav .cnav__link { gap: 12px; padding: 12px 8px; font-size: 1rem; border-bottom: 1px solid var(--line); }
  .cnav .cnav__link.is-active { border-bottom-color: var(--line); color: var(--primary-ink); }
  .cnav__shop .ic { display: none; }
  .cnav__thumb { display: grid; place-items: center; flex: none; width: 40px; height: 40px; border-radius: var(--r-sm); background: var(--soft); overflow: hidden; }
  .cnav__thumb img { width: 85%; height: 85%; object-fit: contain; }
  .cnav__thumb.is-photo img { width: 100%; height: 100%; object-fit: cover; }
  .cnav__spacer { flex: none; height: 14px; }
  .cnav .cnav__minor { border-bottom: 0; padding: 10px 8px; font-size: .95rem; }
  .cnav .nav__mobile { display: inline-flex !important; }
  .promo__grid { grid-template-columns: 1fr; }
  .promo__side { grid-template-columns: 1fr 1fr; }
  .quick__row, .trust__grid { grid-template-columns: repeat(2, 1fr); }
  ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  ul.products.columns-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .shelf ul.products.columns-5 li:nth-child(n+7) { display: none; }
  .builder { grid-template-columns: 1fr; }
  .builder__box { position: static; order: -1; }
  .footer__top { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 820px) {
  .single-product div.product { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .woocommerce-account .woocommerce { grid-template-columns: 1fr; }
  ul.products, ul.products.columns-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .builder__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .hide-sm { display: none !important; }
  body { font-size: 14.5px; }
  .ribbon__in { gap: 12px; padding: 7px 0; font-size: .78rem; text-align: center; }
  .header { position: relative; }
  .header__in { flex-wrap: wrap; height: auto; gap: 10px; padding: 10px 0; }
  .logo img { height: 40px; }
  .hsearch { order: 3; flex-basis: 100%; max-width: none; height: 46px; }
  .hsearch button { padding: 0 14px; }
  .header__actions { gap: 10px; }
  .hcart__ic { width: 46px; height: 46px; }
  .promo { padding-top: 12px; }
  .promo__grid, .promo__side { gap: 10px; }
  .promo__main { grid-template-columns: 1.15fr 1fr; gap: 6px; min-height: 0; padding: 16px 0 16px 16px; }
  .promo__main h1 { font-size: 1.15rem; margin: 6px 0 10px; }
  .promo__main p { display: none; }
  .promo__main .btn { min-height: 40px; padding: 0 14px; font-size: .85rem; }
  .promo__main .tag { font-size: .72rem; }
  .promo__jars { min-height: 130px; }
  .pj--2 { bottom: 0; }
  .promo__tile { min-height: 100px; padding: 12px; }
  .promo__tile .tag { top: 10px; left: 12px; font-size: .72rem; }
  .promo__tile b { font-size: 1rem; }
  .promo__tile small { display: none; }
  .quick__row { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
  .quick__item { flex: none; padding: 8px 12px 8px 8px; }
  .quick__img { width: 44px; height: 44px; }
  .shelf { padding: 22px 0; }
  .shelf__head p { display: none; }
  .shelf ul.products.columns-5 li:nth-child(n+7) { display: none; }
  .bundle-strip { flex-wrap: wrap; gap: 14px; padding: 16px; }
  .bundle-strip__slots i { width: 40px; height: 40px; }
  .bundle-strip .btn { width: 100%; }
  .trust__grid > div { padding: 12px; }
  .card__label { padding: 10px 10px 2px; }
  .card__name { font-size: .9rem; }
  .card__foot { padding: 8px 10px 10px; }
  .price { font-size: 1.05rem; }
  .add { width: 42px; height: 42px; padding: 0; justify-content: center; }
  .add__txt { display: none; }
  .badge { font-size: .72rem; padding: 3px 7px; top: 8px; left: 8px; }
  .card__cat { font-size: .74rem; }
  .flav { font-size: .72rem; }
  .listing-hero { padding: 14px 0 16px; }
  .filters__row { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .filters__lbl { display: none; }
  .sortbar { flex-direction: column; align-items: stretch; }
  .woocommerce-ordering select { width: 100%; }
  .summary { padding: 20px; }
  .summary .price { font-size: 1.6rem; }
  .woocommerce-tabs { padding: 0 18px 18px; }
  .page-section { padding: 16px 0 48px; }
  .page-section > .wrap { padding: 18px 12px; }
  .wc-block-cart-item__total, .wc-block-cart-item__total * { font-size: .9rem !important; }
  .footer__top { grid-template-columns: 1fr; }
  /* Dolny pasek koszyka */
  .mbar:not([hidden]) { display: flex; position: fixed; left: 10px; right: 10px; bottom: calc(10px + env(safe-area-inset-bottom)); z-index: 45; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 8px 8px 18px; border-radius: var(--r); background: var(--ink); color: #fff; box-shadow: var(--shadow-lg); }
  .mbar__info { display: flex; flex-direction: column; line-height: 1.2; text-decoration: none; }
  .mbar__info b { font-size: 1.05rem; }
  .mbar__info span { font-size: .76rem; color: #c9c6c7; }
  .mbar .btn { min-height: 44px; background: #fff; color: var(--ink); }
  body:has(.mbar:not([hidden])) .footer { padding-bottom: 96px; }
  .single-product .mbar, .kf-builder .mbar { display: none !important; }
  /* Produkt: przycisk zakupu przyklejony do dołu */
  .single-product form.cart { position: fixed; left: 0; right: 0; bottom: 0; z-index: 46; margin: 0; padding: 10px 12px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -8px 24px rgba(43,42,43,.08); }
  .single-product .quantity .qty { width: 72px; height: 48px; }
  .single-product .single_add_to_cart_button { min-height: 48px; }
  .single-product .footer { padding-bottom: 100px; }
  /* Kreator: podsumowanie jako dolny pasek */
  .builder { padding-bottom: 150px; }
  .builder__box { position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 46; display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: center; padding: 12px 14px calc(12px + env(safe-area-inset-bottom)); border-radius: var(--r) var(--r) 0 0; border-width: 1px 0 0; box-shadow: 0 -10px 30px rgba(43,42,43,.12); }
  .builder__box h3, .builder__box .note, .builder__sum > div:not(.total) { display: none; }
  .builder__msg { grid-column: 1 / -1; margin: 0; font-size: .82rem; }
  .builder__sum { margin: 0; padding: 0; border: 0; }
  .builder__sum .total { padding: 0; font-size: 1.1rem; }
  .builder__box .btn { width: auto; min-height: 44px; padding: 0 16px; font-size: .88rem; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* Zdjęcie produktu widoczne od razu (bez czekania na skrypt galerii) */
.woocommerce-product-gallery { opacity: 1 !important; }

/* =========================================================
   14. v5.1 — czystszy układ pod konwersję
   ========================================================= */
body { word-spacing: .05em; }
h1, h2, h3, h4 { letter-spacing: -.015em; word-spacing: .04em; }

/* Hero: jeden przekaz, jedno CTA */
.hero { background: var(--soft); border-bottom: 0; }
.hero__in { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: 40px; min-height: 320px; padding: 28px 0; }
.hero h1 { font-size: clamp(1.6rem, 2.8vw, 2.25rem); line-height: 1.15; margin-bottom: 12px; max-width: 18ch; }
.hero__txt > p { font-size: .98rem; color: var(--ink-2); max-width: 46ch; margin-bottom: 22px; }
.hero__cta { display: flex; align-items: center; gap: 22px; flex-wrap: wrap; }
.hero__link { font-weight: 700; color: var(--ink); text-decoration: none; }
.hero__link:hover { color: var(--primary-ink); }
.hero__usp { list-style: none; display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 24px 0 0; padding: 0; font-size: .82rem; font-weight: 600; color: var(--ink-2); }
.hero__usp li { display: inline-flex; align-items: center; gap: 8px; }
.hero__usp .ic { width: 17px; height: 17px; color: var(--primary-ink); }
.hero__img { position: relative; height: 270px; }
.hero__img .pj img { width: 100%; }
.hero__img .pj--1 { width: 44%; left: 2%; bottom: 4%; }
.hero__img .pj--2 { width: 52%; left: 24%; bottom: 10%; }
.hero__img .pj--3 { width: 42%; right: 0; bottom: 2%; }

/* Półki: 4 kolumny, więcej oddechu */
.shelf { padding: 40px 0 8px; }
.shelf + .shelf { padding-top: 32px; }
.shelf__head { margin-bottom: 18px; }
ul.products { gap: 20px; }
.card { border-color: var(--line); }
.card:hover { transform: none; box-shadow: 0 6px 20px rgba(43,42,43,.08); }
.card__label { padding: 14px 16px 2px; }
.card__name { font-size: .9rem; }
.card__foot { padding: 10px 16px 16px; }
.price { font-size: 1.08rem; }

/* Strona produktu: blok zakupu */
.buybox { display: grid; gap: 8px; margin: 4px 0 18px; padding: 14px 16px; border-radius: var(--r); background: var(--soft); font-size: .9rem; }
.buybox p { margin: 0; display: flex; align-items: center; gap: 10px; color: var(--ink-2); }
.buybox .ic { width: 18px; height: 18px; color: var(--primary-ink); }
.buybox b { color: var(--ink); }

/* Koszyk i kasa: skupienie na zamówieniu */
.kf-focus .cnav, .kf-focus .hsearch, .kf-focus .mbar { display: none !important; }
.kf-focus .header__in { justify-content: space-between; }

@media (max-width: 1100px) {
  .kf-focus .cnav { display: block !important; }
}
@media (max-width: 820px) {
  .hero__in { grid-template-columns: 1fr; min-height: 0; gap: 0; padding: 22px 0 18px; }
  .hero__img { order: -1; height: 190px; margin-bottom: 10px; }
  .hero h1 { font-size: 1.45rem; max-width: none; }
  .hero__txt > p { font-size: .98rem; margin-bottom: 18px; }
  .hero__usp { gap: 8px 16px; margin-top: 18px; font-size: .84rem; }
}
@media (max-width: 720px) {
  .shelf { padding: 26px 0 4px; }
  ul.products { gap: 12px; }
  .card__label { padding: 10px 10px 2px; }
  .card__foot { padding: 8px 10px 10px; }
  .price { font-size: 1.08rem; }
  .hero__cta .btn { flex: 1; }
}
@media (max-width: 720px) { .shelf ul.products li:nth-child(n+7) { display: none; } }

/* =========================================================
   15. Rybobranie (rabat progresywny)
   ========================================================= */
.tierline { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.tierline__step { display: flex; align-items: baseline; gap: 8px; padding: 10px 16px; border: 1px solid var(--line); border-radius: var(--r); background: var(--soft); }
.tierline__step b { font-size: 1.1rem; font-weight: 800; color: var(--red); }
.tierline__step span { font-size: .88rem; color: var(--ink-2); font-weight: 600; }
.builder__tiers, .kf-bundle .tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.builder__tiers span, .kf-bundle .tiers span { display: flex; flex-direction: column; align-items: center; padding: 8px 4px; border: 1px solid var(--line); border-radius: var(--r-sm); font-size: .76rem; color: var(--muted); background: #fff; line-height: 1.2; }
.builder__tiers b, .kf-bundle .tiers b { font-size: 1.05rem; font-weight: 800; color: var(--ink-2); }
.builder__tiers span.on, .kf-bundle .tiers span.on { border-color: var(--ink); background: var(--ink); color: #d6d3d4; }
.builder__tiers span.on b, .kf-bundle .tiers span.on b { color: #fff; }
.builder__bar, .kf-bundle .bar { height: 6px; margin: 10px 0 0; border-radius: 3px; background: var(--line); overflow: hidden; }
.builder__bar i, .kf-bundle .bar i { display: block; height: 100%; width: 0; background: var(--red); border-radius: 3px; transition: width .3s; }
.builder__msg b, .kf-bundle p b { color: var(--ink); }
.builder__picked { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.builder__picked:empty { display: none; }
.pick { position: relative; width: 42px; height: 42px; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; display: grid; place-items: center; }
.pick img { width: 34px; height: 34px; object-fit: contain; }
.pick em { position: absolute; right: -6px; top: -6px; min-width: 20px; height: 20px; padding: 0 4px; border-radius: 10px; background: var(--ink); color: #fff; font-size: .68rem; font-style: normal; font-weight: 800; display: grid; place-items: center; }
.kf-bundle { display: block; padding: 12px 20px 14px; }
.kf-bundle p { margin: 8px 0 0; font-size: .86rem; color: var(--ink-2); }
.kf-bundle i { border: 0; width: auto; height: auto; border-radius: 0; }
.bundle-strip { flex-wrap: wrap; }
.bundle-strip__txt .kicker { display: block; margin-bottom: 2px; }
.bundle-strip__tiers { display: flex; gap: 8px; }
.bundle-strip__tiers span { display: flex; flex-direction: column; align-items: center; min-width: 74px; padding: 8px 10px; border-radius: var(--r-sm); background: #fff; border: 1px solid var(--line); font-size: .76rem; color: var(--muted); line-height: 1.2; }
.bundle-strip__tiers b { font-size: 1.15rem; font-weight: 800; color: var(--red); }

/* Blok zakupu na produkcie — tekst w jednej linii z ikoną */
.buybox p { display: block; position: relative; padding-left: 28px; }
.buybox .ic { position: absolute; left: 0; top: 2px; }

@media (max-width: 720px) {
  .tierline__step { flex: 1; flex-direction: column; align-items: center; gap: 0; padding: 8px; }
  .tierline__step span { font-size: .76rem; text-align: center; }
  .builder__box { grid-template-columns: 1fr auto; }
  .builder__tiers, .builder__bar, .builder__picked { grid-column: 1 / -1; }
  .builder__tiers span { padding: 5px 4px; }
  .builder__bar { margin: 0; }
  .builder__picked { display: none; }
  .builder { padding-bottom: 210px; }
  .bundle-strip__tiers { width: 100%; }
  .bundle-strip__tiers span { flex: 1; min-width: 0; }
}

/* Karta: gramatura w nazwie, bez ceny za kg */
.card__w { font-weight: 500; color: var(--muted); white-space: nowrap; }
.card__name { -webkit-line-clamp: 3; min-height: 0; }
.card__label { padding-bottom: 0; }
.card__foot { align-items: center; }

/* =========================================================
   16. Hero: bestseller tygodnia + baner Rybobrania
   ========================================================= */
.hero { background: #fff; border-bottom: 1px solid var(--line); }
.hero__grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 16px; padding: 20px 0; }
.potd { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); align-items: center; gap: 28px; padding: 20px 28px 20px 20px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.potd__img { display: block; aspect-ratio: 1; border-radius: var(--r-sm); background: var(--soft); overflow: hidden; }
.potd__img img { width: 100%; height: 100%; object-fit: contain; padding: 18px; transition: transform .3s; }
.potd__img:hover img { transform: scale(1.03); }
.potd__tag { display: inline-block; padding: 3px 8px; border-radius: var(--r-sm); background: var(--ink); color: #fff; font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hero .potd__name { margin: 12px 0 8px; font-size: clamp(1.3rem, 2.2vw, 1.75rem); line-height: 1.2; }
.potd__name a { text-decoration: none; color: inherit; }
.potd__name span { font-weight: 500; color: var(--muted); }
.potd__desc { color: var(--ink-2); font-size: .92rem; margin-bottom: 14px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.potd__price { font-size: 1.7rem; font-weight: 800; letter-spacing: -.01em; margin-bottom: 14px; }
.potd__price del { font-size: 1rem; font-weight: 500; color: var(--muted); margin-right: 8px; }
.potd__price ins { text-decoration: none; color: var(--red); }
.potd__buy { display: flex; align-items: center; gap: 18px; }
.potd__buy .btn .ic { width: 18px; height: 18px; }
.potd__buy .btn.added { background: var(--primary-ink); }
.potd__buy .added_to_cart { display: none; }
.potd__more { font-weight: 700; font-size: .9rem; color: var(--ink); }
.potd__usp { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 16px 0 0; padding: 0; font-size: .8rem; font-weight: 600; color: var(--ink-2); }
.potd__usp li { display: inline-flex; align-items: center; gap: 6px; }
.potd__usp .ic { width: 16px; height: 16px; color: var(--primary-ink); }
.hbanner { position: relative; display: flex; flex-direction: column; justify-content: flex-end; gap: 10px; min-height: 100%; padding: 22px; border-radius: var(--r); overflow: hidden; text-decoration: none; color: #fff; background-image: linear-gradient(180deg, rgba(25,24,25,.1) 0%, rgba(25,24,25,.82) 70%), var(--img); background-size: cover; background-position: center; }
.hbanner__tag { position: absolute; top: 18px; left: 18px; padding: 3px 8px; border-radius: var(--r-sm); background: var(--red); font-size: .68rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.hbanner > b { font-size: 1.3rem; font-weight: 800; line-height: 1.2; letter-spacing: -.01em; }
.hbanner__tiers { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
.hbanner__tiers span { display: flex; flex-direction: column; align-items: center; padding: 6px 4px; border-radius: var(--r-sm); background: rgba(255,255,255,.14); font-size: .72rem; line-height: 1.2; }
.hbanner__tiers b { font-size: 1.05rem; font-weight: 800; }
.hbanner__cta { font-weight: 700; font-size: .9rem; }
.hbanner:hover .hbanner__cta { text-decoration: underline; }

@media (max-width: 1100px) {
  .hero__grid { grid-template-columns: 1fr; }
  .hbanner { min-height: 220px; }
}
@media (max-width: 720px) {
  .hero__grid { padding: 12px 0; gap: 10px; }
  .potd { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding: 12px; align-items: start; }
  .potd__img img { padding: 8px; }
  .hero .potd__name { font-size: 1.05rem; margin: 8px 0 4px; }
  .potd__desc { display: none; }
  .potd__price { font-size: 1.25rem; margin-bottom: 10px; }
  .potd__buy { gap: 12px; }
  .potd__buy .btn { min-height: 40px; padding: 0 14px; font-size: .85rem; }
  .potd__more { display: none; }
  .potd__usp { display: none; }
  .hbanner { min-height: 0; padding: 16px; gap: 8px; }
  .hbanner__tag { position: static; align-self: flex-start; }
  .hbanner > b { font-size: 1.05rem; }
}

/* =========================================================
   17. Mniej turkusu, większy nagłówek, lepsza wyszukiwarka
   ========================================================= */
:root { --primary-ink: #2b2a2b; }
.ribbon b { color: #fff; font-weight: 700; }
.cart-count { background: var(--red); color: #fff; }
.badge--nowosc { background: var(--ink); color: #fff; }
.cnav .cnav__link.is-active { border-bottom-color: var(--ink); }
.cnav .cnav__link:hover, .mega__side a:hover { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.footer .script { color: #fff; }
.shelf__more { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
.trust .ic, .potd__usp .ic, .buybox .ic, .hero__usp .ic { color: var(--ink-2); }

.header__in { height: 80px; gap: 28px; }
.logo img { height: 52px; }
.hsearch { position: relative; height: 48px; max-width: 600px; overflow: visible; border-radius: var(--r-btn); }
.hsearch input { font-size: 16px; padding: 0 16px; border-radius: var(--r-btn) 0 0 var(--r-btn); }
.hsearch button { border-radius: 0 calc(var(--r-btn) - 2px) calc(var(--r-btn) - 2px) 0; padding: 0 20px; font-size: .92rem; }
.hlink, .hcart { font-size: .9rem; }
.hlink .ic { width: 24px; height: 24px; }
.hcart__ic { width: 46px; height: 46px; }
.cnav .cnav__link { padding: 14px 14px; font-size: .92rem; }
.cnav .cnav__minor { font-size: .86rem; }

.hsearch__drop { position: absolute; top: calc(100% + 6px); left: -1.5px; right: -1.5px; z-index: 60; background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: 0 18px 40px rgba(43,42,43,.14); padding: 6px; max-height: 70vh; overflow-y: auto; }
.hs-item { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 12px; padding: 8px; border-radius: var(--r-sm); text-decoration: none; color: var(--ink); }
.hs-item:hover, .hs-item:focus { background: var(--soft); outline: 0; }
.hs-item img, .hs-ph { width: 48px; height: 48px; object-fit: contain; border-radius: var(--r-sm); background: var(--soft); }
.hs-name { font-weight: 600; font-size: .9rem; line-height: 1.3; }
.hs-price { font-weight: 800; font-size: .92rem; white-space: nowrap; }
.hsearch .hs-all { display: block; width: 100%; margin-top: 4px; padding: 10px; border: 0; border-top: 1px solid var(--line); border-radius: 0; background: #fff; text-align: center; font-weight: 700; font-size: .88rem; cursor: pointer; color: var(--ink); }
.hsearch .hs-all:hover { text-decoration: underline; }
.hs-empty { margin: 0; padding: 14px; color: var(--muted); font-size: .9rem; }

/* Listing: 5 w rzędzie */
.page-wrap--listing ul.products.columns-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 1200px) { .page-wrap--listing ul.products.columns-5 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (max-width: 1100px) { .page-wrap--listing ul.products.columns-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 820px) { .page-wrap--listing ul.products.columns-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }
@media (max-width: 720px) {
  .header__in { height: auto; }
  .logo img { height: 42px; }
  .hsearch { height: 46px; }
  .hs-item { grid-template-columns: 42px 1fr auto; }
  .hs-item img, .hs-ph { width: 42px; height: 42px; }
}

/* =========================================================
   18. Listing: jeden rząd kategorii + „Smak i okazja” obok sortowania
   ========================================================= */
.listing-hero { padding: 18px 0 0; }
.listing-hero__desc { margin-bottom: 4px; }
.catrow { display: flex; gap: 4px; margin-top: 14px; overflow-x: auto; scrollbar-width: none; border-top: 1px solid var(--line); }
.catrow::-webkit-scrollbar { display: none; }
.catrow__link { flex: none; padding: 13px 14px 12px; font-weight: 600; font-size: .9rem; color: var(--ink-2); text-decoration: none; border-bottom: 2px solid transparent; white-space: nowrap; }
.catrow__link:first-child { padding-left: 0; }
.catrow__link:hover { color: var(--ink); }
.catrow__link[aria-current="page"] { color: var(--ink); border-bottom-color: var(--ink); }
.sortbar { gap: 10px; }
.sortbar .woocommerce-result-count { margin-right: auto; }
.tagselect select, .woocommerce-ordering select { height: 42px; padding: 0 34px 0 14px; border: 1.5px solid var(--line); border-radius: var(--r-btn); background: #fff; font-weight: 600; font-size: .88rem; color: var(--ink); cursor: pointer; }
@media (max-width: 720px) {
  .sortbar { flex-direction: row; flex-wrap: wrap; }
  .sortbar .woocommerce-result-count { width: 100%; }
  .tagselect, .woocommerce-ordering { flex: 1; }
  .tagselect select, .woocommerce-ordering select { width: 100%; }
}
.woocommerce .woocommerce-ordering select, .woocommerce-ordering select.orderby { width: auto; height: 42px; font-size: .88rem; }
@media (max-width: 720px) { .woocommerce .woocommerce-ordering select { width: 100%; } }

/* 19. Apaczka — przycisk wyboru Paczkomatu w kasie */
#apaczka_mp_geowidget_show_map.geowidget_show_map{box-shadow:none!important;display:inline-flex;align-items:center;justify-content:center;width:auto!important;min-width:220px;min-height:44px;margin:14px 0 4px;padding:0 20px;background:var(--ink)!important;color:#fff!important;border:0;border-radius:8px;font:600 14px/1.2 var(--font);white-space:nowrap;box-shadow:none;cursor:pointer;transition:background .15s}
#apaczka_mp_geowidget_show_map.geowidget_show_map:hover{background:#000!important}
.kf-shipdays{display:flex;gap:10px;align-items:center;margin:0 0 16px;padding:12px 14px;background:var(--soft);border:1px solid var(--line);border-radius:8px;font-size:14px;color:var(--ink-2)}
.kf-shipdays svg{flex:none;width:20px;height:20px;color:var(--ink)}
.kf-shipdays b{color:var(--ink)}

/* 20. Kasa — najbliższe Paczkomaty i logo InPost */
.kf-inpost{width:54px;height:32px;object-fit:contain;vertical-align:middle;margin-right:10px;border-radius:4px}
.wc-block-components-radio-control__label{display:inline-flex;align-items:center}
.kf-points{display:grid;gap:8px;margin:14px 0 4px}
.kf-points__h{margin:0 0 2px;font-size:13px;font-weight:600;color:var(--ink-2)}
.kf-pt{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;text-align:left;background:#fff;border:1px solid var(--line-2);border-radius:8px;font:400 14px/1.35 var(--font);color:var(--ink);cursor:pointer;transition:border-color .15s,box-shadow .15s}
.kf-pt:hover{border-color:var(--ink-2)}
.kf-pt.is-on{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.kf-pt__dot{flex:none;width:18px;height:18px;border:1.5px solid var(--line-2);border-radius:50%;position:relative}
.kf-pt.is-on .kf-pt__dot{border-color:var(--ink)}
.kf-pt.is-on .kf-pt__dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ink)}
.kf-pt__body{flex:1;min-width:0}
.kf-pt__body small{display:block;margin-top:2px;font-size:12px;color:var(--muted)}
.kf-pt__km{flex:none;font-size:13px;font-weight:600;color:var(--ink-2)}
#apaczka_mp_geowidget_show_map.geowidget_show_map.is-more{background:#fff!important;color:var(--ink)!important;border:1px solid var(--line-2)!important;font-size:0!important;min-height:40px;margin-top:8px}
#apaczka_mp_geowidget_show_map.geowidget_show_map.is-more::before{content:"Inny punkt — pokaż mapę";font-size:14px}
#apaczka_mp_geowidget_show_map.geowidget_show_map.is-more:hover{background:var(--soft)!important}
#apaczka_selected_point_data_wrap.kf-hide{display:none!important}

/* =========================================================
   21. Kasa — dopracowany wygląd (kroki, karty, podsumowanie)
   ========================================================= */
body.woocommerce-checkout{background:var(--soft)}
body.woocommerce-checkout .page-section{padding:24px 0 72px}
body.woocommerce-checkout .page-section>.wrap{background:transparent;border:0;padding:0}
body.woocommerce-checkout .page-title{font-size:1.6rem;margin-bottom:14px}

/* pasek etapów */
.kf-steps{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:0;list-style:none;font-size:13px;font-weight:600;color:var(--muted)}
.kf-steps li{display:flex;align-items:center;gap:8px}
.kf-steps li+li::before{content:"";width:28px;height:1px;background:var(--line-2);margin-right:2px}
.kf-steps i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#fff;border:1px solid var(--line-2);font-style:normal;font-size:12px}
.kf-steps .is-done i{background:var(--ink);border-color:var(--ink);color:#fff}
.kf-steps .is-on{color:var(--ink)}
.kf-steps .is-on i{border-color:var(--ink);color:var(--ink);box-shadow:0 0 0 3px rgba(43,42,43,.08)}
body.woocommerce-checkout .kf-shipdays{background:#fff}

/* kroki formularza jako karty z numerem */
body.woocommerce-checkout .wc-block-checkout__main{counter-reset:kfstep}
body.woocommerce-checkout .wc-block-components-checkout-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px 20px!important;margin:0 0 14px!important;box-shadow:0 1px 2px rgba(43,42,43,.04)}
body.woocommerce-checkout .wc-block-components-checkout-step::after{display:none!important}
body.woocommerce-checkout .wc-block-components-checkout-step__heading{display:flex;align-items:center;margin:0 0 16px!important}
body.woocommerce-checkout .wc-block-components-checkout-step__title{display:flex;align-items:center;gap:12px;font-size:17px!important;font-weight:700!important;color:var(--ink);margin:0!important}
body.woocommerce-checkout .wc-block-components-checkout-step:not(#order-notes) .wc-block-components-checkout-step__title::before{counter-increment:kfstep;content:counter(kfstep);display:grid;place-items:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:#fff;font-size:13px;font-weight:700}
body.woocommerce-checkout .wc-block-components-checkout-step__container,body.woocommerce-checkout .wc-block-components-checkout-step__content{padding:0!important;margin:0!important}
body.woocommerce-checkout .wc-block-components-checkout-step__description{font-size:13px;color:var(--muted);margin:-8px 0 14px}
body.woocommerce-checkout #order-notes{padding:16px 24px!important;background:transparent;border-style:dashed;box-shadow:none}

/* pola */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-blocks-components-select__select,
body.woocommerce-checkout .wc-block-components-textarea{background:#fff!important;border:1px solid var(--line-2)!important;border-radius:8px!important;color:var(--ink)!important;box-shadow:none!important;transition:border-color .15s,box-shadow .15s}
body.woocommerce-checkout .wc-block-components-text-input input:hover,body.woocommerce-checkout .wc-blocks-components-select__select:hover{border-color:#aeb4bb!important}
body.woocommerce-checkout .wc-block-components-text-input input:focus,body.woocommerce-checkout .wc-blocks-components-select__select:focus{border-color:var(--ink)!important;box-shadow:0 0 0 3px rgba(85,196,207,.28)!important;outline:0}
body.woocommerce-checkout input:-webkit-autofill,body.woocommerce-checkout input:-webkit-autofill:hover,body.woocommerce-checkout input:-webkit-autofill:focus{-webkit-box-shadow:0 0 0 40px #fff inset!important;-webkit-text-fill-color:var(--ink)!important}
body.woocommerce-checkout .wc-block-components-text-input label,body.woocommerce-checkout .wc-blocks-components-select__label{color:var(--muted)!important}
body.woocommerce-checkout .wc-block-components-address-form__address_2-toggle{font-size:13px;font-weight:600;color:var(--primary-ink)}
body.woocommerce-checkout .wc-block-components-checkbox__input{border-radius:5px!important;border-color:var(--line-2)!important}
body.woocommerce-checkout .wc-block-components-checkbox__input:checked{background:var(--ink)!important;border-color:var(--ink)!important}
body.woocommerce-checkout .wc-block-components-checkbox__mark{fill:#fff!important}

/* opcje wysyłki i płatności jako osobne kafle */
body.woocommerce-checkout .wc-block-components-radio-control,
body.woocommerce-checkout .wc-block-checkout__payment-method .wc-block-components-radio-control{display:grid;gap:10px;border:0!important;box-shadow:none!important}
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option{border:1px solid var(--line-2)!important;border-radius:10px!important;background:#fff;box-shadow:none!important;margin:0!important;transition:border-color .15s,background .15s}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option{border:0!important;border-radius:0!important;background:transparent}
body.woocommerce-checkout .wc-block-components-radio-control__option::after,body.woocommerce-checkout .wc-block-components-radio-control-accordion-option::after{display:none!important}
body.woocommerce-checkout .wc-block-components-radio-control__option:hover,body.woocommerce-checkout .wc-block-components-radio-control-accordion-option:hover{border-color:#aeb4bb!important}
body.woocommerce-checkout .wc-block-components-radio-control__option-checked,
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted{border-color:var(--ink)!important;box-shadow:inset 0 0 0 1px var(--ink)!important;background:#fbfbfc}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted .wc-block-components-radio-control__option-checked{box-shadow:none!important;background:transparent}
body.woocommerce-checkout .wc-block-components-radio-control__input{border-color:var(--line-2)!important}
body.woocommerce-checkout .wc-block-components-radio-control__input:checked{border-color:var(--ink)!important}
body.woocommerce-checkout .wc-block-components-radio-control__input:checked::before{background:var(--ink)!important}
body.woocommerce-checkout .wc-block-components-radio-control__label{font-weight:600;color:var(--ink)}
body.woocommerce-checkout .wc-block-components-radio-control__secondary-label{font-weight:700;color:var(--ink)}
body.woocommerce-checkout .wc-block-components-radio-control-accordion-content{padding:0 16px 14px 48px!important;font-size:13px;color:var(--ink-2)}

/* podsumowanie */
body.woocommerce-checkout .wc-block-checkout__sidebar{top:96px!important}
body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{background:#fff;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:0 1px 2px rgba(43,42,43,.04)}
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title{padding:18px 20px 6px!important}
body.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text{font-size:17px!important;font-weight:700!important}
body.woocommerce-checkout .wc-block-components-order-summary-item__image img{border-radius:8px;background:var(--soft)}
body.woocommerce-checkout .wc-block-components-order-summary-item__quantity{background:var(--ink)!important;color:#fff!important;border:2px solid #fff!important;box-shadow:none!important}
body.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-metadata{display:none}
body.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices{display:none}
body.woocommerce-checkout .wc-block-components-totals-item__label{color:var(--ink-2)}
body.woocommerce-checkout .wc-block-components-totals-footer-item{background:var(--soft);border-radius:0 0 12px 12px}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label{font-size:16px!important;font-weight:700;color:var(--ink)}
body.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value{font-size:22px!important;font-weight:800}
.kf-trust{display:grid;gap:10px;margin:14px 0 0;padding:16px 18px;background:#fff;border:1px solid var(--line);border-radius:12px;font-size:13px;color:var(--ink-2)}
.kf-trust p{display:flex;gap:10px;align-items:flex-start;margin:0}
.kf-trust svg{flex:none;width:18px;height:18px;color:var(--ink);margin-top:1px}
.kf-trust b{color:var(--ink)}
.kf-trust__pay{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--line)}
.kf-trust__pay img{height:26px;width:auto;border:1px solid var(--line);border-radius:5px;padding:2px 4px;background:#fff}

/* zamówienie */
body.woocommerce-checkout .wc-block-checkout__actions{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 24px!important;margin-top:0}
body.woocommerce-checkout .wc-block-checkout__terms{margin:0 0 14px!important;padding:0!important;border:0!important;font-size:12.5px;color:var(--muted)}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button{min-height:56px!important;font-size:16px!important;border-radius:10px!important;letter-spacing:.01em;transition:background .15s,transform .1s}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover{background:#000!important}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button:active{transform:translateY(1px)}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text::before{content:"";display:inline-block;width:15px;height:15px;margin-right:9px;vertical-align:-2px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E") center/contain no-repeat}
body.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button{font-size:13px;font-weight:600;color:var(--ink-2)}

@media (max-width:700px){
  body.woocommerce-checkout .wc-block-components-checkout-step{padding:18px 16px!important;border-radius:10px}
  body.woocommerce-checkout .wc-block-checkout__actions{padding:16px!important}
  .kf-steps{font-size:12px;gap:6px}
  .kf-steps li+li::before{width:14px}
  .kf-steps .kf-steps__t{display:none}
  .kf-steps .is-on .kf-steps__t{display:inline}
  .wc-block-checkout__sidebar .kf-trust{display:none}
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{padding:0!important;margin-bottom:6px}
  body.woocommerce-checkout .wc-block-components-checkout-order-summary__title{padding:14px 16px!important;border:0!important;margin:0!important}
}
body.woocommerce-checkout .wc-block-components-checkout-place-order-button .wc-block-components-button__text{display:inline-flex!important;flex-direction:row!important;align-items:center;justify-content:center}
