/* Kamien 6: selektory ograniczone do koszyka i jego szuflady. */
.s24-koszyk-pomoc { display: none; }
.s24-koszyk-komunikaty--blad-sieci .s24-koszyk-pomoc,
.s24-koszyk-komunikaty:has(.wc-block-components-notice-banner.is-error) .s24-koszyk-pomoc {
  display: block;
  color: var(--s24-error);
}
.s24-koszyk-pomoc button { min-height: 44px; margin-top: 8px; font: inherit; }
.s24-puste-frazy ul { display: flex; flex-wrap: wrap; gap: 8px 24px; list-style: none; padding: 0; }
.s24-puste-frazy a { display: inline-flex; align-items: center; min-height: 44px; color: var(--s24-ink); }
.wc-block-mini-cart__drawer { width: min(420px, 100vw); }
.s24-szuflada-zaslepka[aria-busy="true"] .wc-block-mini-cart__button { cursor: progress; opacity: 0.6; }
/* Zaslepka to <a>: bez tego dziedziczy z .s24-koszyk a (serduszko) bialy kolor i content-box.
   :hover osobno, bo .s24-koszyk a:hover (0,2,1) wygrywa z sama klasa przycisku. */
.s24-szuflada-zaslepka .wc-block-mini-cart__button,
.s24-szuflada-zaslepka .wc-block-mini-cart__button:hover { box-sizing: border-box; color: inherit; }
/* Woo koloruje licznik z JS (badgeBackgroundColor); zaslepka nie ma JS Woo, wiec te same kolory z CSS. */
.s24-szuflada-zaslepka .wc-block-mini-cart__badge { background-color: var(--s24-ink); color: var(--s24-base); }
.wc-block-mini-cart__drawer .wp-block-woocommerce-mini-cart-contents {
  background: var(--s24-paper);
  min-height: 100%;
}
/* Natywny tytul ma ujemny dolny margines pod liste pozycji; prog stoi miedzy nimi i wchodzilby pod tytul. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title { font-size: var(--wp--preset--font-size--2-xl); margin-bottom: 8px; }
.wc-block-mini-cart__drawer .s24-prog-aktualny { padding-inline: 24px; }
/* Regula w @layer woo przegrywa z niewarstwowym zerowaniem paddingu z cart.css/checkout.css Woo;
   koszyk zeruje go dodatkowo selektorem 0,3,0 (.wc-block-cart .wp-block-…-order-summary-block …). */
.wc-block-components-totals-item.wc-block-components-totals-fees,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block .wc-block-components-totals-item.wc-block-components-totals-fees {
  padding: 11px 12px;
}
.wc-block-mini-cart__drawer .wc-block-cart-item__image { width: 72px; }
.wc-block-mini-cart__drawer .wc-block-cart-item__image img { width: 72px; height: 72px; object-fit: contain; background: var(--s24-surface); }
/* Podsumowanie w kasie: Woo daje samo `width`, wiec pion rozciagal wiersz, a poziom robil pasek. */
.wc-block-components-order-summary-item__image img { display: block; width: 48px; height: 48px; object-fit: contain; background: var(--s24-surface); }
.wc-block-mini-cart__drawer .wc-block-components-product-name {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.wc-block-mini-cart__drawer .wc-block-components-product-details { display: block; }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer {
  position: sticky;
  bottom: 0;
  background: var(--s24-paper);
  border-top: 1px solid var(--s24-line);
  padding-bottom: max(24px, env(safe-area-inset-bottom));
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-actions {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout,
.wc-block-cart .wc-block-cart__submit-button {
  background: var(--s24-red-600);
  color: var(--s24-surface);
  min-height: 56px;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-checkout:hover,
.wc-block-cart .wc-block-cart__submit-button:hover { background: var(--s24-red-700); }
.wc-block-mini-cart__drawer .wc-block-mini-cart__footer-cart {
  background: transparent;
  color: var(--s24-ink);
  min-height: 44px;
}
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector button,
.wc-block-mini-cart__drawer .wc-block-cart-item__remove-link,
.wc-block-cart .wc-block-components-quantity-selector button,
.wc-block-cart .wc-block-cart-item__remove-link { min-width: 44px; min-height: 44px; }
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector,
.wc-block-cart .wc-block-components-quantity-selector { min-height: 44px; width: 140px; }
.wc-block-cart .wc-block-cart-items__row { border-bottom: 1px solid var(--s24-line); }
/* Na telefonie 140 px przelacznika + kosz + padding Woo (212 px) rozpychaly tabele poza ekran.
   Przyciski zostaja 44 px; wezsze pole liczby, a przy dluzszej kwocie kosz schodzi pod przelacznik. */
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity {
  flex-wrap: wrap;
  gap: 8px;
  padding-right: 0;
}
.wc-block-cart.is-mobile .wc-block-components-quantity-selector { width: 118px; }
.wc-block-cart.is-mobile .wc-block-components-quantity-selector input.wc-block-components-quantity-selector__input { min-width: 28px; }
.s24-pusty-koszyk nav { display: flex; flex-direction: column; gap: 8px; }
.s24-pusty-koszyk a { display: flex; align-items: center; min-height: 44px; }
.s24-pusty-koszyk form { margin-top: 24px; }
.s24-pusty-koszyk label { display: block; margin-bottom: 8px; }
.s24-pusty-koszyk form > div { display: flex; gap: 8px; }
.s24-pusty-koszyk input[type="search"] { min-width: 0; flex: 1; min-height: 44px; }
.s24-pusty-koszyk button {
  min-height: 44px;
  padding-inline: 16px;
  border: 0;
  border-radius: var(--s24-radius-m);
  background: var(--s24-red-600);
  color: var(--s24-surface);
  font: inherit;
  cursor: pointer;
}
.s24-pusty-koszyk button:hover { background: var(--s24-red-700); }
.wp-block-woocommerce-empty-mini-cart-contents-block .s24-pusty-koszyk { padding: 0 24px 24px; }
@media (min-width: 1024px) {
  .wc-block-cart.wc-block-components-sidebar-layout { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; }
  .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-main { width: auto; padding-right: 0; }
  .wc-block-cart.wc-block-components-sidebar-layout > .wc-block-components-sidebar { width: auto; padding: 24px; position: sticky; top: 96px; align-self: start; }
}
@media (max-width: 781px) {
  .wc-block-mini-cart__drawer { width: 100vw; max-width: 100vw; }
}
/* Woo przy otwarciu zostawia --with-slide-out (transition: transform) obok --with-slide-in
   (animation: slidein). WebKit potrafi uruchomic oba i szuflada wjezdza dwa razy;
   przy wjezdzie zostaje sama animacja. Trzy klasy: niezaleznie od kolejnosci arkuszy. */
.wc-block-components-drawer__screen-overlay--with-slide-in .wc-block-mini-cart__drawer.wc-block-components-drawer {
  transition: none;
}
@media (prefers-reduced-motion: no-preference) {
  .wc-block-components-drawer__screen-overlay--with-slide-in .wc-block-mini-cart__drawer.wc-block-components-drawer {
    animation-duration: 240ms;
    animation-timing-function: var(--s24-motion-easing);
  }
}

/* ------------------------------------------------------------------ */
/* Koszyk wg makiety Design „Smartech24 — Koszyk” (zaakceptowana).     */
/* Woo nadal renderuje pozycje, kupon i przycisk; tu tylko wyglad.      */
/* ------------------------------------------------------------------ */
.s24-strona-koszyka .woocommerce.wc-block-breadcrumbs,
.s24-strona-koszyka .wc-block-breadcrumbs { margin-bottom: 18px; color: var(--s24-muted); font-size: 0.8125rem; }
.s24-strona-koszyka .wc-block-breadcrumbs a { color: var(--s24-muted); }
/* Blok okruszkow ma alignwide z wlasnym marginesem; w tej osi ma stac z tytulem. */
.s24-strona-koszyka > .wc-block-breadcrumbs { box-sizing: border-box; width: 100%; max-width: 1200px !important; margin-inline: auto !important; }
.s24-koszyk__glowa {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 12px 40px;
  margin-block: 0 24px;
}
.s24-koszyk__tytul {
  margin: 0;
  font-family: var(--wp--preset--font-family--archivo-display);
  font-size: clamp(2.25rem, 4vw, 3rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
}
.s24-koszyk__podtytul { margin: 12px 0 0; color: var(--s24-muted); min-height: 1.5em; }
.s24-koszyk__dalej {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--s24-ink);
  font-weight: 700;
}
.s24-strona-koszyka > * + * { margin-block-start: 0; }
.s24-strona-koszyka > .wp-block-shortcode,
.s24-strona-koszyka > .s24-prog-aktualny,
.s24-strona-koszyka .s24-prog-aktualny { margin-block: 0 24px; }

/* Pasek progu: biala karta, czerwony postep, zielony po osiagnieciu. */
.s24-strona-koszyka .s24-prog,
.wc-block-mini-cart__drawer .s24-prog {
  padding: 16px 20px;
  border-radius: 0;
  background: var(--s24-surface);
}
.s24-strona-koszyka .s24-prog-tor,
.wc-block-mini-cart__drawer .s24-prog-tor { height: 8px; margin-top: 12px; background: var(--s24-paper-deep); }
.s24-strona-koszyka .s24-prog-wypelnienie,
.wc-block-mini-cart__drawer .s24-prog-wypelnienie { background: var(--s24-red-600); }
.s24-strona-koszyka .s24-prog--osiagniety,
.wc-block-mini-cart__drawer .s24-prog--osiagniety { border-color: var(--s24-success); background: var(--s24-success-bg); }
.s24-strona-koszyka .s24-prog--osiagniety .s24-prog-wypelnienie,
.wc-block-mini-cart__drawer .s24-prog--osiagniety .s24-prog-wypelnienie { background: var(--s24-success); }

/* Pozycje: kazdy wiersz to biala karta, bez naglowka tabeli. */
.wc-block-cart .wc-block-cart-items__header { display: none; }
.wc-block-cart table.wc-block-cart-items { border-collapse: separate; border-spacing: 0 12px; margin-top: -12px; }
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row { border: 0; background: var(--s24-surface); }
.wc-block-cart .wc-block-cart-items .wc-block-cart-items__row > td { padding: 20px; vertical-align: top; border: 0; }
.wc-block-cart .wc-block-cart-items .wc-block-cart-item__image { width: 112px; padding-right: 0; }
.wc-block-cart .wc-block-cart-item__image a { display: block; width: 112px; height: 112px; background: var(--s24-surface); border: 1px solid var(--s24-line); }
.wc-block-cart .wc-block-cart-item__image img { width: 100%; height: 100%; object-fit: contain; }
.wc-block-cart .wc-block-cart-item__wrap { display: flex; flex-direction: column; gap: 8px; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-components-product-name {
  color: var(--s24-ink);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
}
.wc-block-cart .wc-block-components-product-name:hover { color: var(--s24-red-700); text-decoration: underline; }
/* Cena jednostkowa nad przyciskami jest dopowiedzeniem, nie druga suma. */
.wc-block-cart .wc-block-cart-item__prices { order: 3; color: var(--s24-muted); font-size: 0.8125rem; }
.wc-block-cart .wc-block-cart-item__prices::after { content: " / szt."; }
.wc-block-cart .wc-block-components-product-metadata { order: 2; margin: 0; }
.wc-block-cart .wc-block-cart-item__quantity { order: 4; }
/* Skrot opisu powtarza karte produktu i wypycha rozmiar; w koszyku i szufladzie tylko cechy pozycji. */
.wc-block-cart .wc-block-components-product-metadata__description,
.wc-block-mini-cart__drawer .wc-block-components-product-metadata__description { display: none; }
.wc-block-cart .wc-block-components-product-details {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.wc-block-cart .wc-block-components-product-details > li,
.wc-block-cart .wc-block-components-product-details > span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid var(--s24-line);
  border-radius: 6px;
  background: var(--s24-paper);
  font-size: 0.8125rem;
}
.wc-block-cart .wc-block-components-product-details__name { font-weight: 400; }
.wc-block-cart .wc-block-components-product-details__value { font-weight: 700; }
.wc-block-cart .wc-block-cart-item__quantity {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 16px;
  margin-top: 4px;
}
.wc-block-cart .wc-block-components-quantity-selector,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector {
  border: 1.5px solid var(--s24-ink);
  border-radius: var(--s24-radius-m);
  background: var(--s24-surface);
}
.wc-block-cart .wc-block-components-quantity-selector::after,
.wc-block-mini-cart__drawer .wc-block-components-quantity-selector::after { border: 0; }
.wc-block-cart .wc-block-components-quantity-selector input { font-weight: 700; }
.wc-block-cart table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
.s24-koszyk-akcja {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 8px;
  border: 0;
  background: none;
  color: var(--s24-ink);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
}
.wc-block-cart .wc-block-cart-item__remove-link { order: 3; }
.wc-block-cart .wc-block-cart-item__remove-link svg { display: block; width: 20px; height: 20px; fill: currentColor; }
.wc-block-cart table.wc-block-cart-items { border-bottom: 0; }
.wc-block-cart .wc-block-cart-item__remove-link::after { content: "Usuń"; }
.s24-koszyk-akcja { order: 2; margin-left: auto; }
.s24-koszyk-akcja svg { width: 18px; height: 18px; flex-shrink: 0; }
.wc-block-cart .wc-block-cart-item__remove-link:hover,
.s24-koszyk-akcja:hover { color: var(--s24-red-700); }
.wc-block-cart .wc-block-cart-items .wc-block-cart-item__total { text-align: right; white-space: nowrap; }
.wc-block-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 1.125rem; font-weight: 700; }

/* Cofnij usuniecie i komunikaty koszyka. */
.s24-koszyk-cofnij {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 8px 16px;
  margin-bottom: 12px;
  padding: 12px 16px;
  border: 1px dashed var(--s24-line-strong);
  background: var(--s24-surface);
  font-size: 0.875rem;
}
.s24-koszyk-cofnij[hidden] { display: none; }
.s24-koszyk-cofnij button,
.s24-koszyk-zapisane button {
  min-height: 44px;
  padding: 0 16px;
  border: 1.5px solid var(--s24-ink);
  border-radius: var(--s24-radius-m);
  background: var(--s24-surface);
  color: var(--s24-ink);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.s24-koszyk-cofnij button:hover,
.s24-koszyk-zapisane button:hover { background: var(--s24-ink); color: var(--s24-surface); }
.s24-koszyk-status { margin: 0 0 12px; color: var(--s24-success); font-size: 0.875rem; font-weight: 600; }
.s24-koszyk-status:empty { display: none; }
.s24-koszyk-status--blad { color: var(--s24-error); }

/* Podsumowanie: biala karta z atramentowa krawedzia jak suma na /zapisane/. */
.wc-block-cart .wc-block-cart__sidebar {
  padding: 24px;
  border-top: 2px solid var(--s24-ink);
  background: var(--s24-surface);
  box-sizing: border-box;
}
.wc-block-cart .wc-block-cart__totals-title {
  margin: 0 0 8px;
  padding: 0;
  font-family: var(--wp--preset--font-family--archivo-display);
  font-size: 1.25rem;
  font-weight: 800;
  text-transform: none;
  letter-spacing: 0;
}
.wc-block-cart .wc-block-components-totals-wrapper { padding-inline: 0; border-color: var(--s24-line); }
.wc-block-cart .wc-block-components-totals-item { font-size: 0.9375rem; }
.wc-block-cart .wc-block-components-totals-item__value { font-weight: 700; }
.wc-block-cart .wc-block-components-panel__button { min-height: 44px; font-weight: 600; }
/* W koszyku nie ma jeszcze wyboru dostawy ani platnosci: dostawe pokazuje
   wiersz „od … zł” (koszyk.js), a doplata za pobranie i suma z domyslna
   metoda Woo przechodza do kasy, gdzie klient je wybiera. */
.wc-block-cart .wp-block-woocommerce-cart-order-summary-fee-block,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-shipping-block,
.wc-block-cart .wc-block-components-totals-wrapper:has(> .wc-block-components-totals-footer-item) { display: none; }
.s24-koszyk-suma .wc-block-components-totals-item { display: flex; justify-content: space-between; gap: 12px; padding-block: 8px; }
.s24-koszyk-suma__opis { display: block; color: var(--s24-muted); font-size: 0.8125rem; font-weight: 400; }
.s24-koszyk-suma__dostawa--darmowa { color: var(--s24-success); }
.s24-koszyk-suma__razem {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 12px;
  margin-top: 6px;
  padding-top: 14px;
  border-top: 1px solid var(--s24-line);
}
.s24-koszyk-suma__razem span { font-size: 1.0625rem; font-weight: 700; }
.s24-koszyk-suma__razem strong {
  font-family: var(--wp--preset--font-family--archivo-display);
  font-size: 1.875rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.s24-koszyk-suma__podpis { margin: 4px 0 12px; color: var(--s24-muted); font-size: 0.8125rem; }
.wc-block-cart .wc-block-cart__submit { margin-bottom: 0; }
.wc-block-cart .wc-block-cart__submit-button { width: 100%; font-size: 1.0625rem; font-weight: 700; border-radius: var(--s24-radius-m); }
.wc-block-cart .wc-block-cart__submit-button .wc-block-components-button__text::after { content: " →"; }
.s24-koszyk-atuty {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin: 16px 0 0;
  padding: 14px 0 0;
  border-top: 1px solid var(--s24-line);
  list-style: none;
  font-size: 0.8125rem;
  line-height: 1.45;
}
.s24-koszyk-atuty li { display: flex; gap: 10px; }
.s24-koszyk-atuty svg { flex-shrink: 0; width: 18px; height: 18px; }

/* Z Twoich zapisanych. */
.s24-koszyk-zapisane { margin-top: 56px; }
.s24-koszyk-zapisane[hidden] { display: none; }
.s24-koszyk-zapisane__glowa {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px 24px;
  margin-bottom: 16px;
}
.s24-koszyk-zapisane__glowa h2 {
  margin: 0;
  font-family: var(--wp--preset--font-family--archivo-display);
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}
.s24-koszyk-zapisane__glowa a { color: var(--s24-ink); font-weight: 700; }
.s24-koszyk-zapisane__lista {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.s24-koszyk-zapisane__lista > li { display: flex; flex-direction: column; background: var(--s24-surface); }
.s24-koszyk-zapisane__lista img {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  object-fit: contain;
  border-bottom: 1px solid var(--s24-line);
}
.s24-koszyk-zapisane__karta { display: flex; flex: 1; flex-direction: column; gap: 8px; padding: 14px; }
.s24-koszyk-zapisane__karta a { color: var(--s24-ink); font-size: 0.875rem; font-weight: 600; line-height: 1.35; text-decoration: none; }
.s24-koszyk-zapisane__karta a:hover { text-decoration: underline; }
.s24-koszyk-zapisane__rozmiar { color: var(--s24-success); font-size: 0.8125rem; font-weight: 600; }
.s24-koszyk-zapisane__cena { margin-top: auto; font-size: 1.0625rem; font-weight: 700; }

/* Pusty koszyk: tekst z wyszukiwarka obok trzech dzialow. */
.wc-block-cart .wp-block-woocommerce-empty-cart-block,
.s24-strona-koszyka .wp-block-woocommerce-empty-cart-block { padding: 40px; background: var(--s24-surface); }
.s24-pusty-koszyk h2 {
  margin: 0 0 16px;
  font-family: var(--wp--preset--font-family--archivo-display);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
}
.s24-pusty-koszyk p { margin: 0; color: var(--s24-muted); line-height: 1.5; }
.s24-pusty-koszyk__tekst { display: flex; flex-direction: column; gap: 16px; }
.s24-pusty-koszyk__tekst h2 { margin: 0; }
.s24-pusty-koszyk form { margin-top: 0; }
.s24-pusty-koszyk input[type="search"] {
  min-height: 48px;
  padding: 0 14px;
  border: 1.5px solid var(--s24-muted);
  border-radius: var(--s24-radius-m);
  font: inherit;
}
.s24-pusty-koszyk button { min-height: 48px; padding-inline: 20px; font-weight: 700; }
.s24-pusty-koszyk a.s24-pusty-koszyk__zapisane {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 52px;
  padding: 0 16px;
  border: 1.5px solid var(--s24-ink);
  border-radius: var(--s24-radius-m);
  color: var(--s24-ink);
  font-weight: 700;
  text-decoration: none;
}
.s24-pusty-koszyk a.s24-pusty-koszyk__zapisane[hidden] { display: none; }
.s24-pusty-koszyk__zapisane svg { color: var(--s24-red-600); flex-shrink: 0; }
.s24-pusty-koszyk__zapisane > span[aria-hidden] { margin-left: auto; }
.s24-pusty-koszyk nav.s24-pusty-koszyk__dzialy {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
  margin-top: 24px;
}
.s24-pusty-koszyk__dzialy a {
  display: flex;
  flex-direction: column;
  min-height: 0;
  background: var(--s24-paper);
  color: var(--s24-ink);
  font-weight: 700;
  text-decoration: none;
}
.s24-pusty-koszyk__dzialy img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
.s24-pusty-koszyk__dzialy a > span { display: flex; justify-content: space-between; gap: 8px; padding: 14px; }
.s24-pusty-koszyk__dzialy a:hover > span { text-decoration: underline; }
@media (min-width: 1024px) {
  .s24-strona-koszyka .s24-pusty-koszyk {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 48px;
    align-items: start;
  }
  .s24-strona-koszyka .s24-pusty-koszyk nav.s24-pusty-koszyk__dzialy { margin-top: 0; }
}
/* Szuflada ma 420 px: dzialy jako lista z miniatura, bez odsylacza do zapisanych. */
.wp-block-woocommerce-empty-mini-cart-contents-block .s24-pusty-koszyk__zapisane { display: none; }
.wp-block-woocommerce-empty-mini-cart-contents-block .s24-pusty-koszyk nav.s24-pusty-koszyk__dzialy { gap: 8px; }
.wp-block-woocommerce-empty-mini-cart-contents-block .s24-pusty-koszyk__dzialy a > span { padding: 10px; font-size: 0.8125rem; }
/* Na telefonie trzy kafle maja ok. 100 px: krotszy podpis bez strzalki. */
@media (max-width: 600px) {
  .s24-pusty-koszyk nav.s24-pusty-koszyk__dzialy { gap: 8px; }
  .s24-pusty-koszyk__dzialy a > span { padding: 10px; font-size: 0.8125rem; line-height: 1.3; }
  .s24-pusty-koszyk__dzialy a > span > span { display: none; }
}

/* Szuflada: tytul jak w makiecie, cechy pozycji zamiast opisu. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
  font-family: var(--wp--preset--font-family--archivo-display);
  font-weight: 800;
  letter-spacing: -0.02em;
}
.wc-block-mini-cart__drawer .wc-block-mini-cart__title .wc-block-mini-cart__quantity-badge,
.wc-block-mini-cart__drawer .wc-block-mini-cart__title-items-counter-block {
  color: var(--s24-muted);
  font-family: var(--wp--preset--font-family--archivo);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0;
}
.wc-block-mini-cart__drawer .wc-block-components-product-name { color: var(--s24-ink); font-weight: 600; text-decoration: none; }
.wc-block-mini-cart__drawer .wc-block-components-product-details__value { font-weight: 700; }

/* Telefon: Woo przypina przycisk do dolu ekranu; dokladamy do niego sume
   i zostawiamy pod trescia miejsce, zeby pasek niczego nie zaslanial. */
.s24-koszyk-pasek-suma { display: none; }
/* Woo przelacza przycisk na wersje --sticky, gdy przycisk jest poza ekranem,
   a na desktopie te wersje ukrywa. Podsumowanie z makiety jest wyzsze niz
   ekran 900 px, wiec bez tego desktop zostawal bez „Przejdz do kasy”. */
@media (min-width: 782px) {
  .wc-block-cart .wc-block-cart__submit-container--sticky {
    display: block !important;
    position: static;
    padding: 0;
    background: transparent !important;
    box-shadow: none;
  }
  .wc-block-cart .wc-block-cart__submit-container--sticky::before { display: none; }
  .wc-block-cart .wc-block-cart__submit-container--sticky .s24-koszyk-pasek-suma { display: none; }
}
@media (max-width: 781px) {
  .wc-block-cart__submit-container--sticky {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 16px max(16px, env(safe-area-inset-bottom));
    border-top: 1px solid var(--s24-line-strong);
    background: var(--s24-surface) !important;
    box-shadow: 0 -6px 16px rgb(20 20 20 / 0.08);
  }
  .wc-block-cart__submit-container--sticky::before { display: none; }
  .wc-block-cart__submit-container--sticky .s24-koszyk-pasek-suma {
    display: flex;
    flex-direction: column;
    white-space: nowrap;
  }
  .wc-block-cart__submit-container--sticky .wc-block-cart__submit-button { flex: 1; min-height: 52px; }
}
.s24-koszyk-pasek-suma span { color: var(--s24-muted); font-size: 0.75rem; }
.s24-koszyk-pasek-suma strong { font-size: 1.25rem; font-weight: 800; }

@media (max-width: 781px) {
  .s24-strona-koszyka { padding-bottom: 120px !important; }
  .s24-koszyk-zapisane__lista {
    display: flex;
    overflow-x: auto;
    margin-right: -16px;
    padding-right: 16px;
    scroll-snap-type: x mandatory;
  }
  .s24-koszyk-zapisane__lista > li { flex: 0 0 160px; scroll-snap-align: start; }
  .s24-koszyk-zapisane__glowa h2 { font-size: 1.375rem; }
  .wc-block-cart .wp-block-woocommerce-empty-cart-block,
  .s24-strona-koszyka .wp-block-woocommerce-empty-cart-block { padding: 20px 16px; }
}
/* Woo na waskim ekranie (is-mobile/is-small) uklada wiersz w siatce: miniatura,
   tresc, suma pod spodem. Karta zostaje biala, miniatura 84 px. */
.wc-block-cart.is-mobile .wc-block-cart-items .wc-block-cart-items__row,
.wc-block-cart.is-small .wc-block-cart-items .wc-block-cart-items__row { padding: 14px; }
.wc-block-cart.is-mobile .wc-block-cart-items .wc-block-cart-items__row > td,
.wc-block-cart.is-small .wc-block-cart-items .wc-block-cart-items__row > td { padding: 0; }
.wc-block-cart.is-mobile .wc-block-cart-item__image,
.wc-block-cart.is-small .wc-block-cart-item__image,
.wc-block-cart.is-mobile .wc-block-cart-item__image a,
.wc-block-cart.is-small .wc-block-cart-item__image a { width: 84px; height: 84px; }
.wc-block-cart.is-mobile .s24-koszyk-akcja,
.wc-block-cart.is-small .s24-koszyk-akcja,
.wc-block-cart.is-mobile table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link,
.wc-block-cart.is-small table.wc-block-cart-items .wc-block-cart-items__row .wc-block-cart-item__quantity .wc-block-cart-item__remove-link {
  width: 44px;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--s24-line);
  border-radius: var(--s24-radius-m);
  font-size: 0;
}
.wc-block-cart.is-mobile .wc-block-cart-item__remove-link::after,
.wc-block-cart.is-small .wc-block-cart-item__remove-link::after { content: none; }

/* Podpowiedz miejscowosci po kodzie pocztowym (assets/js/kody-pocztowe.js). */
.s24-kod-podpowiedz {
  display: flex;
  flex: 0 0 100%;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  width: 100%;
  margin-top: 8px;
  color: var(--s24-muted);
  font-size: var(--wp--preset--font-size--xs);
}
.s24-kod-podpowiedz__wybor {
  min-height: 36px;
  padding: 4px 12px;
  border: 1px solid var(--s24-ink);
  border-radius: var(--s24-radius-s);
  background: var(--s24-surface);
  color: var(--s24-ink);
  font: inherit;
  cursor: pointer;
}
.s24-kod-podpowiedz__wybor:hover,
.s24-kod-podpowiedz__wybor:focus-visible { background: var(--s24-ink); color: var(--s24-surface); }
.s24-kod-podpowiedz__zrodlo a { color: inherit; }
