/* =================================================================
   MNK7 Storefront — main.css (built from parts)
   Build: 2026-06-06
   Run: scripts/build-main-css.sh
   ================================================================= */
/* === 00-fonts-inter.css === */
/* =================================================================
   Inter — local variable font (no Google Fonts dependency)
   Source: @fontsource-variable/inter, SIL OFL 1.1
   ================================================================= */

@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../fonts/inter-latin-wght-normal.woff2") format("woff2");
}

/* === 01-tokens.css === */
/* 01-tokens — extracted from main.css */

/* =================================================================
   MNK7 Storefront — main.css  (child of WooCommerce Storefront)
   Production build — 2026-03-05
   ================================================================= */

/* -----------------------------------------------------------------
   § DESIGN TOKENS
   ----------------------------------------------------------------- */

:root {
  /* Palette: blue #0c7ddb, beige #e9e8cc, white, black */
  --color-bg:             #ffffff;
  --color-beige:          #e9e8cc;
  --color-surface:        #f6f8fb;
  --color-surface-2:      #eef2f7;
  --color-text:           #000000;
  --color-text-secondary: #333333;
  --color-text-muted:     #666666;
  --color-border:         #d9e2ec;
  --color-border-strong:  #c7d3e0;
  /* Darkened primary to satisfy WCAG AA contrast with white text on 15px buttons */
  --color-primary:        #0b74c9;
  --color-primary-hover:   #0a6bc2;
  --color-primary-pressed: #09508a;
  --color-primary-dark:    #0a5a9e;
  --color-accent:         #22c55e;
  --color-focus:          var(--color-primary);
  --color-warning:        #f59e0b;
  --color-danger:         #ef4444;
  --color-white:          #ffffff;
  --color-black:          #000000;

  /* Footer / dark UI (cookie bar, footer) — jeden zestaw dla spójności */
  --color-footer-bg:      #1e293b;
  --color-footer-text:    #e2e8f0;
  --color-footer-link:    #60a5fa;
  --color-footer-muted:   #94a3b8;
  --color-footer-bottom:  #0f172a;
  --color-dark-bg:        #0f172a;
  --color-dark-border:    #475569;

  /* Typography — Inter (slightly larger for readability, less "thin") */
  --font-base: "Inter", system-ui, -apple-system, sans-serif;
  --fs-xs:  0.8125rem; /* 13 px */
  --fs-sm:  0.9375rem; /* 15 px */
  --fs-base: 1rem;     /* 16 px */
  --fs-lg:  1.25rem;   /* 20 px */
  --fs-xl:  1.75rem;   /* 28 px */
  --fs-2xl: 2.25rem;   /* 36 px */
  --fs-3xl: 3rem;      /* 48 px */
  --fs-hero: 3.5rem;   /* hero H1 desktop */

  /* Radii */
  --r-sm:   8px;
  --r-md:   12px;
  --r-lg:   16px;
  --r-pill: 999px;

  /* Shadows */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 10px 24px rgba(0, 0, 0, 0.10);

  /* Local UI kit knobs — change these first before touching component rules */
  --ui-surface-card:      rgba(255, 255, 255, 0.92);
  --ui-surface-panel:     rgba(255, 255, 255, 0.72);
  --ui-stroke-soft:       rgba(12, 125, 219, 0.08);
  --ui-stroke-strong:     rgba(12, 125, 219, 0.16);
  --ui-heading:           #0f2648;
  --ui-copy:              #4b5f7c;
  --ui-kicker:            #0f4a98;
  --ui-section-radius:    28px;
  --ui-card-radius:       16px;
  --ui-panel-shadow:      0 20px 60px rgba(15, 38, 72, 0.05);
  --ui-card-shadow:       0 12px 28px rgba(15, 38, 72, 0.08);
  --ui-card-shadow-hover: 0 18px 36px rgba(15, 38, 72, 0.12);
  --ui-panel-border:      1px solid var(--ui-stroke-soft);
  --ui-card-border:       1px solid rgba(12, 125, 219, 0.1);
  --ui-card-border-strong: 1px solid rgba(12, 125, 219, 0.22);
  --ui-card-bg-strong:    rgba(255, 255, 255, 0.96);
  --ui-chip-bg:           rgba(255, 255, 255, 0.96);
  --ui-chip-border:       1px solid var(--color-border);
  --ui-chip-color:        var(--color-text);
  --ui-chip-hover-bg:     var(--color-primary);
  --ui-chip-hover-border: var(--color-primary);
  --ui-chip-hover-color:  var(--color-white);
  --ui-chip-shadow:       0 2px 10px rgba(15, 38, 72, 0.05);

  /* Layout (UI_SPEC_V2 §3.3: mobile padding 16, desktop max 1200) */
  --content-max: 1200px;
  --header-h:            56px;
  --header-h-scrolled:   48px;

  /* Breakpoints — jeden źródło (wartość używana w media queries i w PHP/JS).
   * W @media trzeba wpisać wartość liczbową (CSS nie obsługuje var() w media queries).
   * Odpowiednik w PHP: MNSK7_BREAKPOINT_MOBILE. */
  --breakpoint-mobile:   768px;
  --breakpoint-header-mobile: 1024px; /* Header contract: desktop >=1024, mobile <=1023 */
  --breakpoint-mobile-narrow: 360px;
  --breakpoint-tablet:   900px;
  --space-4:  4px;
  --space-8:  8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;
  --space-64: 64px;

  /* Page top rhythm — единый вертикальный ритм от header до контента (все типы страниц) */
  --space-page-top:        2rem;   /* 32px — отступ от header (или promo bar) до первого контента */
  --space-breadcrumbs-bottom: 1rem;   /* отступ под breadcrumbs до заголовка/контента */
  --space-title-bottom:    1.25rem;   /* отступ под H1 / page title до следующего блока */
  --space-section-gap:    1.5rem;   /* интервал между крупными секциями (chips → listing и т.д.) */
}

/* prefers-reduced-motion: wyłącz/uprość animacje (WCAG, dostępność) */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* === 02-reset-typography.css === */
/* 02-reset-typography — extracted from main.css */

/* -----------------------------------------------------------------
   § GLOBAL RESET & TYPOGRAPHY
   ----------------------------------------------------------------- */

/* Task 8: zapobiegaj poziomemu przewijaniu. clip (not hidden) — nie tworzy scroll container, nie łamie position:sticky. */
html {
  overflow-x: visible;
  max-width: 100%;
  /* iOS Safari can auto-enlarge text and break tight header geometry. Keep scale consistent with desktop tests. */
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body,
#page {
  max-width: 100%;
  box-sizing: border-box;
}

/* Storefront can turn .site into a scroll container, which breaks sticky header on desktop.
   Keep horizontal clipping, but let vertical scrolling stay on the viewport. */
.site,
#page {
  overflow-x: clip;
  overflow-y: visible;
}

body {
  font-family: var(--font-base);
  color: var(--color-text);
  font-size: var(--fs-base);
  line-height: 1.6;
  background: var(--color-bg);
  overflow-x: clip;
  overflow-y: visible;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Kolor zaznaczenia tekstu — primary (bez fioletu z domyślnych stylów przeglądarki) */
::selection {
  background: var(--color-primary);
  color: var(--color-white);
}
::-moz-selection {
  background: var(--color-primary);
  color: var(--color-white);
}

h1, h2, h3, h4, h5, h6 {
  font-family: var(--font-base);
  font-weight: 700;
  color: var(--color-text);
  line-height: 1.25;
}

a {
  color: var(--color-text);
  text-decoration: none;
  transition: color 0.15s ease, opacity 0.15s ease;
}

a:hover {
  color: var(--color-text);
  text-decoration: underline;
  opacity: 0.88;
}

/* Oбычный текст — без underline/focus артефактов, не выглядит редактируемым */
p, span, li, dd, dt {
  text-decoration: none;
}

/* Visual states (VISUAL_STATES_SPEC): normal, hover, active, focus-visible.
   Outline only on :focus-visible (keyboard), not on mouse :focus — avoids "looks like selected" on click.
   Do not remove outline globally; keep focus-visible for a11y. */
a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus,
summary:focus,
[tabindex]:focus {
  outline: none;
}
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}

/* Tap highlight: no gray flash on click/tap (avoids "looks like selected" on mobile). Caret only in real inputs. */
a,
button,
input,
select,
textarea,
summary,
[tabindex],
[role="button"] {
  -webkit-tap-highlight-color: transparent;
}
/* Caret only where it belongs — not on non-editable elements */
input:not([type="hidden"]),
textarea,
[contenteditable="true"] {
  caret-color: auto;
}

img {
  max-width: 100%;
  height: auto;
}

/* Storefront container override — centering + horizontal padding (UI_SPEC: mobile 16px) */
.col-full {
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--space-16, 1rem);
  padding-right: var(--space-16, 1rem);
}
@media (min-width: 768px) {
  .col-full {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Skip link (a11y): niewidoczny do momentu :focus (Tab). overflow: hidden + clip — standardowy wzorzec ukrycia wizualnego bez usuwania z a11y. */
.mnsk7-skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  border: 0;
  z-index: 10000;
  padding: 0.75rem 1rem;
  background: var(--color-primary);
  color: var(--color-white);
  font-weight: 600;
  text-decoration: none;
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
}
.mnsk7-skip-link:focus,
.mnsk7-skip-link:focus-visible {
  position: absolute;
  width: auto;
  height: auto;
  margin: 0;
  clip: auto;
  clip-path: none;
  left: var(--space-16, 1rem);
  top: var(--space-16, 1rem);
  outline: 2px solid var(--color-white);
  outline-offset: 2px;
}

/* === 03-storefront-overrides.css === */
/* 03-storefront-overrides — extracted from main.css */

/* -----------------------------------------------------------------
   § STOREFRONT OVERRIDES — Inter + palette everywhere
   Parent theme uses its own font variables; we force one source.
   ----------------------------------------------------------------- */

.site,
body .site,
#content,
.site-content,
.mnsk7-content,
.main-navigation a,
.main-navigation .menu li a,
.storefront-primary-navigation a,
.site-header .site-title,
.site-header .site-description,
.site-header .site-branding a,
.woocommerce-breadcrumb,
.woocommerce .product_title,
.woocommerce .price,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce ul.products li.product .price,
.woocommerce-tabs .panel,
.woocommerce table.shop_table,
.woocommerce .cart_totals,
.woocommerce form .form-row label,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select,
button,
.button,
.widget .widget-title,
.widget_title,
.widget a,
.footer-widgets .widget-title,
.site-footer,
.site-info {
  font-family: var(--font-base) !important;
}

/* Storefront: цвета ссылок и кнопок в палитру */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt {
  color: var(--color-white);
}
.main-navigation a:hover,
.site-header-cart .cart-contents:hover {
  color: var(--color-text);
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover {
  background: var(--color-primary-hover) !important;
  color: var(--color-white) !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button,
.add_to_cart_button {
  background: var(--color-primary) !important;
  color: var(--color-white) !important;
  border-color: var(--color-primary) !important;
}


/* === 04-header.css === */
/* 04-header — sticky, shrink on scroll, promo bar, visible search desktop, megamenu (Visual Audit) */

/* Promo bar — tylko komunikat darmowej dostawy + przycisk zamknij */
.mnsk7-promo-bar {
  background: var(--color-primary);
  color: var(--color-white);
  padding: 0.45rem 0.85rem;
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 1001;
  box-sizing: border-box;
  border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}
.mnsk7-promo-bar__inner {
  max-width: var(--content-max, 1200px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.25rem;
}
.mnsk7-promo-bar__text {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.38;
}
.mnsk7-promo-bar__msg {
  margin: 0;
  width: 100%;
  text-align: center;
  font-size: clamp(0.8125rem, 2.6vw, 0.9375rem);
  font-weight: 600;
  letter-spacing: 0.03em;
}
.mnsk7-promo-bar__msg-link {
  color: var(--color-white);
  text-decoration: none;
  border-bottom: none;
  transition: opacity 0.15s ease;
}
.mnsk7-promo-bar__msg-link:hover,
.mnsk7-promo-bar__msg-link:focus-visible {
  color: var(--color-white);
  opacity: 0.92;
}
.mnsk7-promo-bar__close {
  flex-shrink: 0;
  background: transparent;
  border: none;
  color: inherit;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
  padding: 0.35rem;
  opacity: 0.88;
  min-width: 44px;
  min-height: 44px;
  box-sizing: border-box;
  align-self: center;
  border-radius: var(--r-sm);
  transition: opacity 0.15s ease, background 0.15s ease;
}
.mnsk7-promo-bar__close:hover,
.mnsk7-promo-bar__close:focus-visible {
  opacity: 1;
  background: rgba(255, 255, 255, 0.14);
}

@media (max-width: 1023px) {
  .mnsk7-promo-bar {
    padding: 0.42rem 0.65rem;
  }
}

/* Touch fallback: force mobile header pattern on real phones even if browser uses desktop-width layout viewport. */
@media (hover: none) and (pointer: coarse) {
  .mnsk7-header__menu-toggle {
    display: inline-flex !important;
  }
  .mnsk7-header__search-toggle {
    display: inline-flex !important;
  }
  .mnsk7-header__nav .mnsk7-header__menu {
    display: none !important;
  }
  .mnsk7-header__nav.is-open .mnsk7-header__menu {
    display: flex !important;
  }
  .mnsk7-header__search-dropdown {
    display: none !important;
  }
  .mnsk7-header__nav .mnsk7-header__menu {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 50%;
    right: auto;
    width: 100vw;
    max-width: 100vw;
    transform: translateX(-50%);
    margin: 0;
    flex-direction: column;
    align-items: stretch;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-border);
    padding: 0.5rem 0 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    max-height: 85vh;
    overflow-y: auto;
    border-radius: 0;
    text-align: left;
  }
  .mnsk7-header__nav.is-open .mnsk7-header__menu {
    display: flex !important;
  }
}

@media (max-width: 767px) {
  .mnsk7-promo-bar {
    padding: 0.4rem 0.5rem 0.4rem 0.55rem;
  }
}

/* Header + dropdowny zawsze nad treścią strony (menu i koszyk nie chowają się za hero/banerem) */
.mnsk7-header,
.site-header.mnsk7-header {
  background: var(--color-white);
  position: sticky;
  top: env(safe-area-inset-top, 0px);
  z-index: 1000;
  border-bottom: 1px solid var(--color-border);
  box-shadow: 0 1px 3px rgba(0,0,0,0.06);
  min-height: var(--header-h);
  box-sizing: border-box;
  transition: min-height 0.2s ease, box-shadow 0.2s ease;
}

/* Shrink header when page scrolled (audit: "header shrinks slightly but remains visible") */
.mnsk7-header--scrolled {
  min-height: var(--header-h-scrolled);
  box-shadow: 0 1px 6px rgba(0,0,0,0.08);
}
.mnsk7-header--scrolled .mnsk7-header__inner {
  min-height: var(--header-h-scrolled);
}

.mnsk7-header--sticky,
.site-header.mnsk7-header.mnsk7-header--sticky {
  position: sticky !important;
  top: env(safe-area-inset-top, 0px);
}
body.mnsk7-has-promo .mnsk7-header.mnsk7-header--sticky {
  top: calc(env(safe-area-inset-top, 0px) + var(--mnsk7-promo-h, 2.5rem));
}

/* Header layout: desktop >=1024, mobile <=1023. */
.mnsk7-header__inner {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
  min-height: var(--header-h);
  max-width: var(--content-max, 1200px);
  margin: 0 auto;
  /* hdr-01: match #content horizontal padding (25-global-layout) */
  padding: 0 1.5rem;
  box-sizing: border-box;
  min-width: 0;
  overflow: visible;
}

.mnsk7-header__brand {
  flex-shrink: 0;
  min-width: 0;
}
.mnsk7-header__brand a {
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
  font-family: var(--font-base);
  letter-spacing: -0.02em;
  -webkit-tap-highlight-color: transparent;
}
.mnsk7-header__brand a:hover,
.mnsk7-header__brand a:visited,
.mnsk7-header__brand a:active {
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
}
.mnsk7-header__brand a:focus {
  outline: none;
}
.mnsk7-header__brand a:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}
.mnsk7-header__brand img {
  max-height: 42px; /* desktop default; mobile overrides below */
  width: auto;
  max-width: 100%;
  display: block;
}

.mnsk7-header__nav {
  display: flex;
  align-items: center;
  flex: 1;
  justify-content: center;
  min-width: 0;
}
.mnsk7-header__menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.mnsk7-header__menu li {
  margin: 0;
}
.mnsk7-header__menu a {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1.35;
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
  white-space: nowrap;
  border-radius: var(--r-sm);
  transition: color 0.15s ease, background 0.15s ease;
  -webkit-tap-highlight-color: transparent;
}
.mnsk7-header__menu a:hover,
.mnsk7-header__menu a:active,
.mnsk7-header__menu a:visited,
.mnsk7-header__menu li.current-menu-item > a {
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
}
.mnsk7-header__menu a:hover {
  background: rgba(0,0,0,0.04);
}
.mnsk7-header__menu a:focus {
  outline: none;
}
.mnsk7-header__menu a:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}

/* Hamburger icon (3 lines) — równe długość/grubość, wyśrodkowany w przycisku. HEADER UI: optical alignment w 44px target (drobne przesunięcie w dół). */
.mnsk7-header__hamburger {
  display: block;
  width: 22px;
  height: 18px;
  margin: 0 auto;
  flex-shrink: 0;
  position: relative;
  box-sizing: border-box;
  color: currentColor;
  background: linear-gradient(currentColor, currentColor) center / 100% 2px no-repeat;
}
.mnsk7-header__hamburger::before,
.mnsk7-header__hamburger::after {
  content: "";
  position: absolute;
  left: 0;
  width: 22px;
  height: 2px;
  background: currentColor;
  border-radius: 1px;
}
.mnsk7-header__hamburger::before {
  top: 0;
}
.mnsk7-header__hamburger::after {
  bottom: 0;
}

/* Sklep dropdown — megamenu style: 2 columns, wider (audit: "grouped categories") */
.mnsk7-header__menu li.menu-item-has-children {
  position: relative;
}
/* Audit: wskaźnik rozwijania submenu (Sklep) */
.mnsk7-header__menu li.menu-item-has-children > a::after {
  content: "";
  display: inline-block;
  margin-left: 0.25em;
  width: 0.4em;
  height: 0.4em;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  vertical-align: 0.15em;
}
/* Megamenu Sklep: overlay panel — własna szerokość od viewport, nie od kontenera nav (NNG/Baymard) */
.mnsk7-header__menu .sub-menu.mnsk7-megamenu {
  list-style: none;
  margin: 0;
  padding: 0.75rem 1rem 0.6rem;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 360px;
  max-width: min(560px, calc(100vw - 2rem));
  max-height: none;
  overflow-x: hidden; /* Task 8: no horizontal scrollbar */
  overflow-y: visible;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-md);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
  z-index: 100;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  pointer-events: auto;
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .site-header.mnsk7-header.mnsk7-header--sticky,
  #masthead.mnsk7-header.mnsk7-header--sticky {
    position: sticky !important;
    top: env(safe-area-inset-top, 0px) !important;
  }
  body.mnsk7-has-promo .site-header.mnsk7-header.mnsk7-header--sticky,
  body.mnsk7-has-promo #masthead.mnsk7-header.mnsk7-header--sticky {
    top: calc(env(safe-area-inset-top, 0px) + var(--mnsk7-promo-h, 2.5rem)) !important;
  }
  .mnsk7-header__inner,
  .mnsk7-header__nav,
  .mnsk7-header__menu,
  .mnsk7-header__menu > li.menu-item-has-children {
    overflow: visible !important;
  }
  .mnsk7-header__menu .sub-menu {
    max-height: none !important;
    overflow-y: visible !important;
  }
  .mnsk7-header__menu .sub-menu.mnsk7-megamenu {
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
  }
  .mnsk7-header__menu a,
  .mnsk7-header__link,
  .mnsk7-header__cart .cart-contents,
  .mnsk7-header__cart-trigger {
    min-height: 40px;
  }
  .mnsk7-header__actions {
    gap: 0.4rem;
  }
}
.mnsk7-megamenu__group {
  margin: 0;
  list-style: none;
  min-width: 0;
}
.mnsk7-megamenu__heading {
  display: block;
  font-size: 0.6875rem;
  font-weight: 700;
  color: var(--color-text);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 0.35rem;
  padding-bottom: 0.25rem;
  border-bottom: 1px solid var(--color-border-strong);
  line-height: 1.2;
}
.mnsk7-megamenu__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.125rem 0.875rem;
  align-content: start;
  align-items: start;
  min-width: 0;
}
/* 3 kolumny — min 11em/9em, zawijanie tylko między słowami (bez łamania w środku) */
.mnsk7-megamenu__list--cols {
  grid-template-columns: repeat(3, minmax(11em, 1fr));
}
.mnsk7-megamenu__list--tags {
  grid-template-columns: repeat(3, minmax(9em, 1fr));
}
.mnsk7-megamenu__list li {
  margin: 0;
  min-width: 0;
  overflow: hidden; /* Task 8: clip grid cell to avoid spill */
}
.mnsk7-megamenu__list a {
  display: block;
  width: 100%;
  box-sizing: border-box;
  padding: 0.25rem 0.4rem;
  font-size: var(--fs-xs);
  line-height: 1.35;
  border-radius: var(--r-sm);
  white-space: normal;
  overflow-wrap: normal;
  word-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-decoration: none;
  border-bottom: none;
  color: var(--color-text);
  min-width: 0;
}
.mnsk7-megamenu__list a:hover {
  background: rgba(0, 0, 0, 0.06);
  color: var(--color-text);
}
.mnsk7-megamenu__list a.mnsk7-megamenu__link--active,
.mnsk7-megamenu__footer a.mnsk7-megamenu__link--active {
  background: rgba(12, 125, 219, 0.1);
  color: var(--color-text);
  font-weight: 700;
}
.mnsk7-megamenu__list a:focus {
  outline: none;
}
.mnsk7-megamenu__list a:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}
.mnsk7-megamenu__footer {
  margin: 0;
  padding-top: 0.5rem;
  margin-top: 0.2rem;
  border-top: 1px solid var(--color-border);
  list-style: none;
}
.mnsk7-megamenu__footer a {
  display: inline-block;
  padding: 0.25rem 0.4rem;
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--color-text);
  text-decoration: none;
  border-radius: var(--r-sm);
  line-height: 1.35;
}
.mnsk7-megamenu__footer a:hover {
  background: rgba(0, 0, 0, 0.06);
}
@media (max-width: 419px) {
  .mnsk7-header__menu .sub-menu.mnsk7-megamenu {
    max-width: calc(100vw - 1.5rem);
    padding: 0.5rem 0.75rem 0.4rem;
    gap: 0.5rem;
  }
  .mnsk7-megamenu__list--cols {
    grid-template-columns: repeat(2, minmax(9em, 1fr));
  }
  .mnsk7-megamenu__list--tags {
    grid-template-columns: repeat(2, minmax(7em, 1fr));
  }
}
/* Legacy: zwykły sub-menu (tylko gdy bez .mnsk7-megamenu) */
.mnsk7-header__menu .sub-menu:not(.mnsk7-megamenu) {
  list-style: none;
  margin: 0;
  padding: 0.75rem 1rem;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 320px;
  max-width: min(560px, calc(100vw - 2rem));
  max-height: 280px;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  box-shadow: var(--shadow-md);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
  z-index: 100;
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 0.35rem 1rem;
  pointer-events: auto;
}
.mnsk7-header__menu li.menu-item-has-children:hover .sub-menu,
.mnsk7-header__menu li.menu-item-has-children:focus-within .sub-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
/* Sklep: aktywny stan gdy dropdown otwarty — dolna kreska w kolorze primary */
.mnsk7-header__menu li.menu-item-has-children:hover > a,
.mnsk7-header__menu li.menu-item-has-children:focus-within > a {
  color: var(--color-text);
  box-shadow: inset 0 -2px 0 var(--color-primary);
}
/* Desktop: megamenu tylko po hover delay (JS .mnsk7-megamenu-open) lub focus-within — bez flicker (Baymard) */
@media (min-width: 1024px) {
  .mnsk7-header__menu li.menu-item-has-children:hover .sub-menu.mnsk7-megamenu {
    opacity: 0;
    visibility: hidden;
    transform: translateY(4px);
  }
  .mnsk7-header__menu li.menu-item-has-children.mnsk7-megamenu-open .sub-menu.mnsk7-megamenu,
  .mnsk7-header__menu li.menu-item-has-children:focus-within .sub-menu.mnsk7-megamenu {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .mnsk7-header__menu li.menu-item-has-children:hover > a {
    color: inherit;
    box-shadow: none;
  }
  .mnsk7-header__menu li.menu-item-has-children.mnsk7-megamenu-open > a,
  .mnsk7-header__menu li.menu-item-has-children:focus-within > a {
    color: var(--color-text);
    box-shadow: inset 0 -2px 0 var(--color-primary);
  }
}
/* Mobile (<=1023px): Sklep rozwijany — submenu ukryte domyślnie, widoczne gdy li.is-open; układ pionowy, tap targets 44px */
@media (max-width: 1023px) {
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    transform: none;
    display: none;
    min-width: 0;
    max-width: none;
    max-height: none;
    overflow-y: visible;
    box-shadow: none;
    border: none;
    border-radius: 0;
    padding: 0;
    margin: 0;
    background: transparent;
    flex-direction: column;
    gap: 0;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children.is-open .sub-menu {
    display: flex;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu {
    flex-direction: column;
    padding: 0.5rem 0 0.75rem 0;
    margin-top: 0.25rem;
    margin-left: 0;
    border-left: none;
    border-top: 1px solid var(--color-border);
    gap: 0.75rem;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__group {
    margin-bottom: 0;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__heading {
    font-size: 0.6875rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    color: var(--color-text-muted);
    margin-bottom: 0.35rem;
    padding-left: 0.75rem;
    padding-right: 0.5rem;
    border-bottom: none;
    line-height: 1.3;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__list,
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__list--cols,
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__list--tags {
    grid-template-columns: 1fr;
    gap: 0.125rem;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__list a,
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__list li a {
    min-height: 44px;
    padding: 0.5rem 0.75rem;
    display: flex;
    align-items: center;
    font-size: var(--fs-sm);
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__list a.mnsk7-megamenu__link--active,
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__footer a.mnsk7-megamenu__link--active {
    background: rgba(12, 125, 219, 0.12);
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__footer {
    margin-top: 0.5rem;
    padding-top: 0.75rem;
    border-top: 1px solid var(--color-border);
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__footer a {
    min-height: 44px;
    padding: 0.5rem 0.75rem;
    display: inline-flex;
    align-items: center;
    font-weight: 700;
    color: var(--color-text);
    background: rgba(12, 125, 219, 0.08);
    border-radius: var(--r-sm);
    margin-left: 0.25rem;
    margin-right: 0.5rem;
  }
}

/* Submenu nie wychodzi w prawo poza ekran (Sklep jest pierwszy, dropdown pod nim) */
@media (max-width: 480px) {
  .mnsk7-header__menu .sub-menu {
    max-width: calc(100vw - 1.5rem);
  }
}
.mnsk7-header__menu .sub-menu li {
  margin: 0;
}
.mnsk7-header__menu .sub-menu a {
  display: block;
  padding: 0.35rem 0.5rem;
  font-size: var(--fs-xs);
  border-radius: var(--r-sm);
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  min-width: 0;
}
.mnsk7-header__menu .sub-menu a {
  text-decoration: none;
  border-bottom: none;
}
.mnsk7-header__menu .sub-menu a:hover,
.mnsk7-header__menu .sub-menu a:visited,
.mnsk7-header__menu .sub-menu a:active {
  text-decoration: none;
  border-bottom: none;
}
.mnsk7-header__menu .sub-menu a:hover {
  background: rgba(0,0,0,0.06);
}
.mnsk7-header__menu .sub-menu a:focus {
  outline: none;
}
.mnsk7-header__menu .sub-menu a:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}

/* Desktop: burger tylko na mobile; na desktop nie ma off-canvas — ukryty (również w header.php critical CSS). */
.mnsk7-header__menu-toggle {
  display: none;
  width: 44px;
  height: 44px;
  min-height: 44px;
  min-width: 44px;
  padding: 0;
  box-sizing: border-box;
  font-size: var(--fs-sm);
  font-weight: 600;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  cursor: pointer;
  font-family: var(--font-base);
  color: var(--color-text);
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.mnsk7-header__menu-toggle:hover {
  background: rgba(0, 0, 0, 0.04);
}
.mnsk7-header__menu-toggle:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}
/* Open: bez przesunięcia ikony */
.mnsk7-header__nav.is-open .mnsk7-header__menu-toggle {
  color: var(--color-text);
  background: rgba(0, 0, 0, 0.04);
}

.mnsk7-header__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
  flex-wrap: nowrap;
  min-width: 0;
}
.mnsk7-header__actions > * {
  margin: 0;
}

/* Search: один поиск — только иконка, по клику открывается dropdown */
.mnsk7-header__search-wrap {
  position: relative;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.mnsk7-header__search-form--inline {
  display: none !important;
}
.mnsk7-header__search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-width: 44px;
  min-height: 44px;
  padding: 0.5rem 0.75rem;
  border: none;
  background: transparent;
  color: var(--color-text);
  cursor: pointer;
  border-radius: var(--r-sm);
  transition: color 0.15s ease, background 0.15s ease;
  font-family: var(--font-base);
  font-size: var(--fs-xs);
  font-weight: 600;
}
.mnsk7-header__search-toggle:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}
.mnsk7-header__search-label {
  white-space: nowrap;
}
.mnsk7-header__search-toggle:hover,
.mnsk7-header__search-toggle[aria-expanded="true"] {
  color: var(--color-text);
  background: rgba(0,0,0,0.04);
}
.mnsk7-header__search-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: inherit;
}
.mnsk7-header__search-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.mnsk7-header__search-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 0;
  padding: 0.75rem;
  background: var(--color-white);
  border: none;
  border-top: 1px solid var(--color-border);
  border-radius: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  min-width: 260px;
  max-height: min(80vh, 480px);
  z-index: 99;
}

/* Search form as input-group: no gap, unified border, one control (desktop + dropdown open) */
.mnsk7-header__search-dropdown .mnsk7-header__search-form {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  min-width: 0;
}
.mnsk7-header__search-dropdown .mnsk7-header__search-input {
  border-right: none;
  border-radius: var(--r-sm) 0 0 var(--r-sm);
  flex: 1;
  min-width: 0;
  box-sizing: border-box;
}
.mnsk7-header__search-dropdown .mnsk7-header__search-submit {
  border: 1px solid var(--color-border);
  border-left: none;
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  flex-shrink: 0;
  box-sizing: border-box;
}
.mnsk7-header__search-dropdown .mnsk7-header__search-form:focus-within .mnsk7-header__search-input {
  border-color: var(--color-primary);
}
.mnsk7-header__search-dropdown .mnsk7-header__search-form:focus-within .mnsk7-header__search-submit {
  border-color: var(--color-primary);
}
.mnsk7-header__search-dropdown .mnsk7-header__search-input:focus {
  outline: none;
  box-shadow: none;
}

/* Od 1024px (desktop): pole wyszukiwania w jednej linii z headerem; do 1023px — ikona + panel */
@media (min-width: 1024px) {
  .mnsk7-header__search-toggle {
    display: none;
  }
  .mnsk7-header__search-wrap {
    align-items: stretch;
  }
  .mnsk7-header__search-dropdown,
  .mnsk7-header__search-dropdown[hidden] {
    position: static !important;
    display: flex !important;
    opacity: 1;
    visibility: visible;
    margin: 0;
    min-width: 240px;
    width: 260px;
    max-width: 320px;
    box-shadow: none;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-top: 0;
    top: auto;
    right: auto;
    background: transparent;
  }
  .mnsk7-header__search-dropdown .mnsk7-header__search-form {
    flex: 1;
    min-width: 0;
    margin: 0;
  }
  .mnsk7-header__search-dropdown .mnsk7-header__search-input {
    min-width: 11.5em; /* placeholder "Szukaj produktów…" */
    min-height: 40px;
    height: 40px;
    padding: 0.4rem 0.75rem;
  }
  .mnsk7-header__search-dropdown .mnsk7-header__search-input::placeholder {
    color: var(--color-text-muted);
  }
  .mnsk7-header__search-dropdown .mnsk7-header__search-input:focus {
    outline: none;
    box-shadow: none;
  }
  .mnsk7-header__search-dropdown .mnsk7-header__search-submit {
    border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
    padding: 0.4rem 0.875rem;
    min-height: 40px;
    height: 40px;
    border: 1px solid var(--color-border);
    border-left: none;
    background: var(--color-primary);
    color: var(--color-white);
  }
  .mnsk7-header__search-dropdown .mnsk7-header__search-submit:hover {
    background: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
    border-left: none;
  }
  .mnsk7-header__search-dropdown .mnsk7-header__search-form:focus-within .mnsk7-header__search-submit:hover {
    border-color: var(--color-primary-hover);
  }
}
.mnsk7-header__search-form {
  display: flex;
  gap: 0.5rem;
}
.mnsk7-header__search-form--inline .mnsk7-header__search-input {
  flex: 1;
  min-width: 0;
}
.mnsk7-header__search-input {
  flex: 1;
  padding: 0.4rem 0.75rem;
  font-size: var(--fs-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  font-family: var(--font-base);
  background: var(--color-white);
}
.mnsk7-header__search-input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: none;
}
.mnsk7-header__search-input:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
  box-shadow: none;
}
.mnsk7-header__search-input::-webkit-search-cancel-button,
.mnsk7-header__search-input::-webkit-search-decoration {
  -webkit-appearance: none;
}
/* Single input-group seam: no gap, shared border; no purple browser focus */
.mnsk7-header__search-dropdown .mnsk7-header__search-form .mnsk7-header__search-input,
.mnsk7-header-search-panel__form .mnsk7-header-search-panel__input {
  -webkit-appearance: none;
  appearance: none;
}
.mnsk7-header__search-submit {
  padding: 0.4rem 0.75rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: var(--r-md);
  cursor: pointer;
  font-family: var(--font-base);
  transition: background 0.15s ease;
  white-space: nowrap;
}
.mnsk7-header__search-submit:hover {
  background: var(--color-primary-hover);
}
.mnsk7-header__search-submit:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 1px;
}

/* Account link + icon — bez nałożenia na koszyk (min-width: 0, flex-shrink). No link underline/visited artifact. */
.mnsk7-header__link {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.5rem;
  gap: 0.35rem;
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
  white-space: nowrap;
  border-radius: var(--r-sm);
  transition: color 0.15s ease, background 0.15s ease;
  letter-spacing: 0.01em;
  flex-shrink: 1;
  min-width: 0;
  -webkit-tap-highlight-color: transparent;
}
.mnsk7-header__link:visited,
.mnsk7-header__link:active {
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
}
.mnsk7-header__link:focus {
  outline: none;
}
/* Na mobile/tablet: account = icon-only. Na desktop (1024px+): min-width dla linku */
.mnsk7-header__link--account {
  justify-content: center;
}
.mnsk7-header__link--account .mnsk7-header__link-text {
  max-width: 6em;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mnsk7-header__account-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: inherit;
}
.mnsk7-header__account-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.mnsk7-header__link:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 1px;
}
.mnsk7-header__link:hover {
  color: var(--color-text);
  background: rgba(0, 0, 0, 0.04);
  text-decoration: none;
  border-bottom: none;
}

/* Cart: nie kurczyć przy długim "Moje konto" (audit: zalogowany = kaša) */
.mnsk7-header__cart {
  position: relative;
  flex-shrink: 0;
  min-width: 44px;
}
.mnsk7-header__cart .cart-contents::before,
.mnsk7-header__cart .cart-contents::after,
.mnsk7-header__cart-trigger::before,
.mnsk7-header__cart-trigger::after {
  content: none;
  display: none;
}
.mnsk7-header__cart .cart-contents,
.mnsk7-header__cart-trigger {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: var(--fs-xs);
  font-weight: 600;
  min-height: 44px;
  box-sizing: border-box;
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
  -webkit-tap-highlight-color: transparent;
}
.mnsk7-header__cart .cart-contents:hover,
.mnsk7-header__cart .cart-contents:visited,
.mnsk7-header__cart .cart-contents:active,
.mnsk7-header__cart-trigger:hover,
.mnsk7-header__cart-trigger:visited,
.mnsk7-header__cart-trigger:active {
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
}
.mnsk7-header__cart .cart-contents:focus,
.mnsk7-header__cart-trigger:focus {
  outline: none;
}
.mnsk7-header__cart .cart-contents:focus-visible,
.mnsk7-header__cart-trigger:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}
.mnsk7-header__cart-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  color: inherit;
}
.mnsk7-header__cart-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}
.mnsk7-header__cart .count,
.mnsk7-header__cart .mnsk7-header__cart-count {
  background: var(--color-primary);
  color: var(--color-white);
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.2;
  border-radius: var(--r-pill);
  min-width: 24px;
  height: 24px;
  text-align: center;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.4rem;
  box-sizing: border-box;
  vertical-align: middle;
}
/* Audit task 11: przy pustym koszyku ikona + „0” zawsze widoczne */
.mnsk7-header__cart--empty .mnsk7-header__cart-icon,
.mnsk7-header__cart--empty .mnsk7-header__cart-count {
  display: inline-flex !important;
}
/* Mini-cart: pokazać do 3 ostatnich pozycji (audit Zad.10); podsumowanie i przyciski zawsze */
.mnsk7-header__cart-dropdown .cart_list,
.mnsk7-header__cart-dropdown .product_list_widget,
.mnsk7-header__cart-dropdown ul.cart_list {
  display: block !important;
  visibility: visible !important;
  margin: 0 0 0.5rem !important;
  padding: 0 !important;
  list-style: none !important;
}
.mnsk7-header__cart-dropdown .cart_list li,
.mnsk7-header__cart-dropdown .product_list_widget li {
  display: grid !important;
  grid-template-columns: 48px 1fr auto;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0 0.35rem 0 !important;
  padding-right: 1.5rem !important; /* miejsce na remove */
  border-bottom: 1px solid var(--color-border);
  font-size: var(--fs-xs);
  min-width: 0;
  position: relative;
}
.mnsk7-header__cart-dropdown .cart_list li .remove,
.mnsk7-header__cart-dropdown .product_list_widget li .remove {
  position: absolute;
  right: 0;
  top: 0.35rem;
  grid-column: unset;
}
.mnsk7-header__cart-dropdown .cart_list li > a:not(.remove),
.mnsk7-header__cart-dropdown .product_list_widget li > a:not(.remove) {
  display: flex !important;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  grid-column: 1 / 3;
}
.mnsk7-header__cart-dropdown .cart_list li > a:not(.remove) img,
.mnsk7-header__cart-dropdown .product_list_widget li > a:not(.remove) img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border-radius: var(--r-sm);
  flex-shrink: 0;
}
.mnsk7-header__cart-dropdown .cart_list li .quantity,
.mnsk7-header__cart-dropdown .product_list_widget li .quantity {
  white-space: nowrap;
  flex-shrink: 0;
  grid-column: 3;
  text-align: right;
}
.mnsk7-header__cart-dropdown .cart_list li:last-child,
.mnsk7-header__cart-dropdown .product_list_widget li:last-child {
  border-bottom: none;
}
/* Pokazać max 3 pozycje; reszta ukryta */
.mnsk7-header__cart-dropdown .cart_list li:nth-child(n+4),
.mnsk7-header__cart-dropdown .product_list_widget li:nth-child(n+4) {
  display: none !important;
}
.mnsk7-header__cart-dropdown .woocommerce-mini-cart .woocommerce-mini-cart__total {
  margin-top: 0.5rem;
}
.mnsk7-header__cart-summary {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.75rem;
  padding: 0.25rem 0 0.75rem;
  border-bottom: 1px solid var(--color-border);
  min-width: 0;
  overflow: visible;
  line-height: 1.35;
}
/* Odstęp między liczbą produktów a „zł” / etykietami */
.mnsk7-header__cart-summary__main {
  gap: 0.35em 1rem;
  word-spacing: 0.08em;
}
.mnsk7-header__cart-summary__main {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: baseline;
  gap: 0.5rem 1rem;
}
.mnsk7-header__cart-summary__count {
  flex-shrink: 0;
  white-space: nowrap;
}
.mnsk7-header__cart-summary__total {
  flex-shrink: 0;
  white-space: nowrap;
}
.mnsk7-header__cart-summary__discount {
  display: block;
  margin-top: 0.35rem;
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--color-primary, #0d6efd);
}
.mnsk7-header__cart-dropdown .woocommerce-mini-cart__total {
  margin: 0 0 0.5rem;
}
.mnsk7-header__cart-dropdown .woocommerce-mini-cart__buttons {
  margin: 0;
}
.mnsk7-header__cart-dropdown .woocommerce-mini-cart__buttons a {
  display: block;
  text-align: center;
  margin-top: 0.25rem;
}
.mnsk7-header__cart-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  margin-top: 4px;
  min-width: 280px;
  max-width: min(90vw, 360px);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  box-shadow: 0 8px 24px rgba(0,0,0,0.1);
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity 0.15s ease, visibility 0.15s ease, transform 0.15s ease;
  z-index: 100;
  padding: 0.75rem;
}
@media (max-width: 400px) {
  .mnsk7-header__cart-dropdown {
    min-width: 0;
    width: calc(100vw - 1.5rem);
    max-width: none;
    left: 0.75rem;
    right: 0.75rem;
  }
  .mnsk7-header__cart-summary {
    display: none !important;
  }
}
.mnsk7-header__cart.is-open .mnsk7-header__cart-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
/* Desktop: account link z tekstem — przywróć min-width i padding */
@media (min-width: 1024px) {
  .mnsk7-header__link.mnsk7-header__link--account {
    min-width: 7.5em;
    padding: 0 0.5rem;
    justify-content: flex-start;
  }
}
/* Desktop: dropdown tylko przy hover na triggerze lub samym dropdownie (JS dodaje .is-open) */
@media (min-width: 1024px) {
  .mnsk7-header__cart.is-open .mnsk7-header__cart-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
}
.mnsk7-header__cart-dropdown .widget_shopping_cart_content {
  max-height: none;
  overflow: visible;
}
.mnsk7-header__cart-dropdown .woocommerce-mini-cart__buttons a {
  display: inline-block;
  padding: 0.5rem 1rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  background: var(--color-primary);
  color: var(--color-white);
  text-decoration: none;
  border-radius: var(--r-sm);
  transition: background 0.15s ease;
}
.mnsk7-header__cart-dropdown .woocommerce-mini-cart__buttons a:hover {
  background: var(--color-primary-hover);
}

/* Tablet: jedna linia, menu może się zawijać */
@media (max-width: 900px) {
  .mnsk7-header__inner {
    gap: 0.5rem;
  }
  .mnsk7-header__menu a {
    padding: 0.4rem 0.5rem;
    font-size: var(--fs-xs);
  }
}

/* Mobile (<=1023px): logo left, all 4 icon buttons grouped right with equal gaps. */
@media (max-width: 1023px) {
  .mnsk7-header__inner {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0.375rem;
    min-height: var(--header-h);
    padding-inline: max(var(--space-12), env(safe-area-inset-left)) max(var(--space-12), env(safe-area-inset-right));
    min-width: 0;
    overflow: visible;
  }
  .mnsk7-header__brand {
    flex: 1 1 auto;
    margin-right: 0;
    min-width: 0;
    max-width: min(38vw, 140px);
  }
  .mnsk7-header__brand img {
    max-height: 36px;
    max-width: 100%;
    object-fit: contain;
  }
  .mnsk7-header__nav {
    flex: 0 0 auto;
    margin-left: auto;
    min-width: 0;
  }
  .mnsk7-header__actions {
    flex: 0 0 auto;
    min-width: 0;
    gap: 0.375rem;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
  }
  /* Unified icon buttons: burger, search, account, cart */
  .mnsk7-header__menu-toggle,
  .mnsk7-header__search-toggle,
  .mnsk7-header__link--account,
  .mnsk7-header__cart-trigger,
  .mnsk7-header__cart .cart-contents {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    border-radius: var(--r-sm);
    background: transparent;
    border: 1px solid var(--color-border);
    color: var(--color-text);
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    flex-shrink: 0;
  }
  .mnsk7-header__menu-toggle,
  .mnsk7-header__search-toggle,
  .mnsk7-header__link--account {
    width: 44px;
    height: 44px;
  }
  .mnsk7-header__cart-trigger,
  .mnsk7-header__cart .cart-contents {
    gap: 0.25rem;
    padding: 0 0.35rem;
    min-width: 44px;
    width: auto;
    max-width: none;
  }
  /* Cart as one block: summary hidden on narrow to avoid overflow; icon + badge always visible */
  .mnsk7-header__cart {
    flex-shrink: 0;
    min-width: 0;
    display: inline-flex;
  }
  .mnsk7-header__cart .mnsk7-header__cart-dropdown {
    right: 0;
    left: auto;
  }
  .mnsk7-header__menu-toggle:hover,
  .mnsk7-header__search-toggle:hover,
  .mnsk7-header__link--account:hover,
  .mnsk7-header__cart-trigger:hover,
  .mnsk7-header__cart .cart-contents:hover {
    background: rgba(0, 0, 0, 0.04);
    border-color: var(--color-border);
  }
  .mnsk7-header__menu-toggle:focus-visible,
  .mnsk7-header__search-toggle:focus-visible,
  .mnsk7-header__link--account:focus-visible,
  .mnsk7-header__cart-trigger:focus-visible,
  .mnsk7-header__cart .cart-contents:focus-visible {
    outline: 2px solid var(--color-focus, var(--color-primary));
    outline-offset: 2px;
  }
  .mnsk7-header__menu-toggle {
    border: 1px solid var(--color-border);
  }
  .mnsk7-header__search-toggle[aria-expanded="true"] {
    background: rgba(0, 0, 0, 0.04);
    color: var(--color-primary);
  }
  /* Cart fragments fallback: jeśli Woo podmieni markup na amount/count, zachowaj ikonowy przycisk */
  .mnsk7-header__cart .cart-contents .woocommerce-Price-amount,
  .mnsk7-header__cart .cart-contents .count {
    display: none !important;
  }
  .mnsk7-header__cart .cart-contents,
  .mnsk7-header__cart-trigger {
    width: 44px;
    min-width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    gap: 0;
    justify-content: center;
    border: 1px solid var(--color-border);
    border-radius: var(--r-sm);
    position: relative;
  }
  .mnsk7-header__cart-trigger,
  .mnsk7-header__cart .cart-contents {
    text-decoration: none;
    border-bottom: none;
  }
  /* Unified icon size: 20px across all mobile breakpoints (FIX-006) */
  .mnsk7-header__search-icon,
  .mnsk7-header__search-icon svg,
  .mnsk7-header__account-icon,
  .mnsk7-header__account-icon svg,
  .mnsk7-header__cart-icon,
  .mnsk7-header__cart-icon svg {
    width: 20px;
    height: 20px;
  }
  .mnsk7-header__hamburger {
    width: 20px;
    height: 16px;
  }
  .mnsk7-header__hamburger::before,
  .mnsk7-header__hamburger::after {
    width: 20px;
  }
  /* Cart badge: overlay on icon for consistent 44x44 button geometry (FIX-004/FIX-005) */
  .mnsk7-header__cart .mnsk7-header__cart-count {
    position: absolute;
    top: 2px;
    right: 2px;
    min-width: 16px;
    height: 16px;
    font-size: 0.625rem;
    font-weight: 700;
    padding: 0 0.25rem;
    line-height: 16px;
    z-index: 1;
  }
  /* Mobile menu panel: below header, full width, vertical nav list, left-aligned, normal spacing — not empty block */
  .mnsk7-header__nav .mnsk7-header__menu {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 50%;
    right: auto;
    width: 100vw;
    max-width: 100vw;
    transform: translateX(-50%);
    margin: 0;
    flex-direction: column;
    align-items: stretch;
    background: var(--color-white);
    border-bottom: 1px solid var(--color-border);
    padding: 0.5rem 0 1rem;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
    max-height: 85vh;
    overflow-y: auto;
    z-index: 100;
    border-radius: 0;
    list-style: none;
    text-align: left;
  }
  .mnsk7-header__nav.is-open .mnsk7-header__menu {
    display: flex !important;
  }
  .mnsk7-header__nav .mnsk7-header__menu li {
    margin: 0;
    border-bottom: 1px solid var(--color-border);
  }
  .mnsk7-header__nav .mnsk7-header__menu li:last-child {
    border-bottom: none;
  }
  .mnsk7-header__nav .mnsk7-header__menu a {
    display: block;
    padding: 0.75rem 1rem;
    font-size: var(--fs-sm);
    font-weight: 500;
    color: var(--color-text);
    text-decoration: none;
    line-height: 1.4;
  }
  .mnsk7-header__nav .mnsk7-header__menu a:hover {
    background: rgba(0, 0, 0, 0.04);
  }
  .mnsk7-header__nav .mnsk7-header__menu a:focus-visible {
    outline: 2px solid var(--color-focus, var(--color-primary));
    outline-offset: -2px;
  }
  /* Mobile: submenu Sklep ukryte domyślnie; po tap na „Sklep” (li.is-open) — rozwijane (JS), ta sama struktura co desktop */
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu {
    display: none !important;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children.is-open .sub-menu {
    display: flex !important;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children > a::after {
    display: inline-block;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children.is-open > a::after {
    transform: rotate(-135deg);
  }
  .mnsk7-header__link-text {
    display: none;
  }
  .mnsk7-header__search-label {
    display: none;
  }
  .mnsk7-header__search-toggle {
    width: 44px;
    min-width: 44px;
    padding: 0;
  }
  /* Mobile: in-header search dropdown hidden — use Pattern B panel below header (pushes content) */
  .mnsk7-header__search-dropdown {
    display: none !important;
  }
  .mnsk7-header__cart-dropdown {
    left: 0;
    right: 0;
    min-width: auto;
    max-width: none;
  }
}

/* Mobile icon-size normalization (top-level media, no nested-at-rule ambiguity). */
@media (max-width: 430px) {
  .mnsk7-header__inner {
    padding-inline: var(--space-8);
    gap: 0.375rem;
  }
  .mnsk7-header__actions {
    gap: 0.375rem;
  }
  .mnsk7-header__brand {
    max-width: calc(100vw - 11rem);
  }
  .mnsk7-header__brand img {
    max-height: 36px;
    max-width: 120px;
  }
}


@media (max-width: 360px) {
  .mnsk7-header__inner {
    padding-inline: max(0.375rem, env(safe-area-inset-left)) max(0.375rem, env(safe-area-inset-right));
    gap: 0.25rem;
  }
  .mnsk7-header__actions {
    gap: 0.25rem;
  }
  .mnsk7-header__brand {
    max-width: calc(100vw - 10rem);
  }
  .mnsk7-header__brand img {
    max-height: 36px;
    max-width: 95px;
  }
}

@media (max-width: 320px) {
  .mnsk7-header__inner {
    padding-inline: max(0.35rem, env(safe-area-inset-left)) max(0.35rem, env(safe-area-inset-right));
    gap: 0.2rem;
  }
  .mnsk7-header__actions {
    gap: 0.2rem;
  }
  .mnsk7-header__brand {
    max-width: calc(100vw - 9.5rem);
  }
  .mnsk7-header__brand img {
    max-height: 36px;
    max-width: 80px;
  }
}

/* Mobile search panel (Pattern B): below header, in flow — pushes content down. Attached to header visually. */
.mnsk7-header-search-panel {
  display: none;
  background: var(--color-white);
  border-bottom: 1px solid var(--color-border);
  padding: 0.75rem 1rem;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
  box-sizing: border-box;
}
@media (min-width: 1024px) {
  .mnsk7-header-search-panel {
    display: none !important;
  }
}
/* Tablet (769-1023px): compact search opens on demand instead of occupying a full header row. */
@media (min-width: 769px) and (max-width: 1023px) {
  .mnsk7-header__search-wrap {
    display: flex !important;
  }
  .mnsk7-header-search-panel {
    display: none !important;
  }
  .mnsk7-header-search-panel[hidden] {
    display: none !important;
  }
  body.mnsk7-search-open .mnsk7-header-search-panel {
    display: block !important;
    width: min(30rem, calc(100vw - 2rem));
    margin: 0.5rem max(1rem, calc((100vw - var(--content-max, 1200px)) / 2)) 0.5rem auto;
    padding: 0.5rem;
    border: 1px solid var(--color-border);
    border-radius: var(--r-sm);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
  }
  /* Strona główna: bez białej wstęgi nad search barem — panel tuż pod headerem */
  body.home .mnsk7-header-search-panel {
    padding-top: 0.5rem;
  }
  .mnsk7-header-search-panel__form {
    max-width: none;
    margin: 0;
  }
}
/* Mobile (≤768px): panel tylko po kliknięciu ikony */
@media (max-width: 768px) {
  .mnsk7-header-search-panel[hidden] {
    display: none !important;
  }
  body.mnsk7-search-open .mnsk7-header-search-panel {
    display: block !important;
  }
}
@media (max-width: 1023px) {
  /* Jeden komponent: form ma obramowanie i radius, overflow:hidden — input i przycisk bez własnego bordera */
  .mnsk7-header-search-panel__form {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    width: 100%;
    max-width: 100%;
    margin: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--r-sm);
    overflow: hidden;
    background: var(--color-white);
    transition: border-color 0.15s ease;
  }
  .mnsk7-header-search-panel__form:focus-within {
    border-color: var(--color-primary);
  }
  .mnsk7-header-search-panel__input {
    flex: 1;
    min-width: 0;
    height: 44px;
    min-height: 44px;
    padding: 0 0.75rem;
    font-size: var(--fs-base);
    font-family: var(--font-base);
    border: none;
    border-radius: 0;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
  }
  .mnsk7-header-search-panel__input:focus {
    outline: none;
  }
  .mnsk7-header-search-panel__input:focus-visible {
    outline: 2px solid var(--color-focus, var(--color-primary));
    outline-offset: 2px;
  }
  .mnsk7-header-search-panel__input::placeholder {
    color: var(--color-text-muted);
  }
  .mnsk7-header-search-panel__submit {
    flex-shrink: 0;
    height: 44px;
    min-height: 44px;
    padding: 0 1rem;
    font-size: var(--fs-sm);
    font-weight: 600;
    font-family: var(--font-base);
    border: none;
    border-radius: 0;
    background: var(--color-primary);
    color: var(--color-white);
    cursor: pointer;
    transition: background 0.15s ease;
    box-sizing: border-box;
  }
  .mnsk7-header-search-panel__submit:hover {
    background: var(--color-primary-hover);
  }
  .mnsk7-header-search-panel__submit:active {
    background: var(--color-primary-pressed, var(--color-primary-hover));
  }
  .mnsk7-header-search-panel__submit:focus {
    outline: none;
  }
  .mnsk7-header-search-panel__submit:focus-visible {
    outline: 2px solid var(--color-focus, var(--color-primary));
    outline-offset: 1px;
  }
  .mnsk7-header-search-panel__submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
  }
}

/* Warstwa treści pod headerem (menu i dropdowny zawsze na wierzchu). Dual-support (Task 4). */
#content.site-content,
.mnsk7-content.site-content,
body .site .site-content {
  position: relative;
  z-index: 0;
}

/* Audit: dropdown Sklep nie może przycinać się ani zakrywać paska promocyjnego i koszyka.
   Tylko desktop: overflow visible dla dropdownów. Na mobile/tablet (<=1023px) inner ma overflow: hidden
   żeby uniknąć nałożenia menu/search na siebie (mobile UX fix). */
@media (min-width: 1024px) {
  .mnsk7-header {
    overflow: visible;
  }
  .mnsk7-header__inner {
    overflow: visible;
  }
  .mnsk7-header__nav {
    overflow: visible;
  }
}
/* Submenu Sklep: pod headerem, ale nie nad promo ani nad koszykiem */
.mnsk7-header__menu .sub-menu {
  z-index: 100;
}
/* Search, konto, koszyk — zawsze na wierzchu w headerze (dropdown nie zakrywa) */
.mnsk7-header__actions {
  position: relative;
  z-index: 110;
}
.mnsk7-header__cart,
.mnsk7-header__cart-dropdown {
  z-index: 111;
}

/* Mobile Sklep: gwarancja widoczności submenu po tap (li.is-open) — wygrywa z innymi regułami */
@media (max-width: 1023px) {
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children.is-open > .sub-menu.mnsk7-megamenu {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
  }
  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children > a.mnsk7-menu-item-sklep {
    min-height: 44px;
    display: flex;
    align-items: center;
  }
}

/* hdr-01: inline padding jak #content / .site-content (25-global-layout) — nadpisuje węższe paddingi z bloków <=1023px */
@media (min-width: 769px) {
  .mnsk7-header__inner {
    padding-inline: max(1.5rem, env(safe-area-inset-left)) max(1.5rem, env(safe-area-inset-right));
  }
}
@media (max-width: 768px) {
  .mnsk7-header__inner {
    padding-inline: max(1rem, env(safe-area-inset-left)) max(1rem, env(safe-area-inset-right));
  }
}
@media (max-width: 360px) {
  .mnsk7-header__inner {
    padding-inline: max(0.5rem, env(safe-area-inset-left)) max(0.5rem, env(safe-area-inset-right));
  }
}

/* Legacy header paths removed: jeden header = header.php (mnsk7-header). Nie używać .mnsk7-header-actions / .mnsk7-header-link. */

/* === 05-plp-cards.css === */
/* 05-plp-cards — extracted from main.css */

   § SHOP / ARCHIVE LAYOUT — content + sidebar
   ----------------------------------------------------------------- */

/* Strona sklepu i archiwum: dual-support — #content/#primary i .mnsk7-* (Task 4).
   ARCH-21: padding-top tylko w 25-global-layout.css (canonical). Tu tylko flex + boczne/dolny padding. */
body.woocommerce-page #content,
body.woocommerce-page .mnsk7-content,
body.woocommerce #content,
body.woocommerce .mnsk7-content {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-32);
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  /* padding-top: canonical 25-global-layout.css — nie ustawiać tutaj */
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  padding-bottom: 1.5rem;
  box-sizing: border-box;
}

body.woocommerce-page #content #primary,
body.woocommerce-page #content > main,
body.woocommerce-page .mnsk7-content .mnsk7-content-area,
body.woocommerce-page .mnsk7-content > main.mnsk7-main,
body.woocommerce #content #primary,
body.woocommerce #content > main,
body.woocommerce .mnsk7-content .mnsk7-content-area,
body.woocommerce .mnsk7-content > main.mnsk7-main {
  flex: 1 1 0%;
  min-width: 0;
}

body.woocommerce-page #content .woocommerce-sidebar,
body.woocommerce-page #content .widget-area,
body.woocommerce-page #content aside[role="complementary"],
body.woocommerce-page .mnsk7-content .woocommerce-sidebar,
body.woocommerce .mnsk7-content .woocommerce-sidebar,
body.woocommerce-page .mnsk7-content .widget-area,
body.woocommerce .mnsk7-content .widget-area,
body.woocommerce-page .mnsk7-content aside[role="complementary"] {
  flex: 0 0 280px;
  max-width: 100%;
  min-width: 0;
}

body.woocommerce-page #content .page-title,
body.woocommerce-page #content h1.page-title,
body.woocommerce-page .mnsk7-content .page-title,
body.woocommerce .mnsk7-content .page-title,
body.woocommerce-page .mnsk7-content h1.page-title,
body.woocommerce .mnsk7-content h1.page-title {
  margin: 0 0 var(--space-title-bottom);
  font-size: var(--fs-2xl);
}

@media (max-width: 768px) {
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .add_to_cart_button,
  .woocommerce ul.products li.product a.added_to_cart {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    width: calc(100% - 1rem);
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    padding: 0.6rem 0.45rem;
    font-size: clamp(0.72rem, 3.3vw, 0.86rem);
    line-height: 1.18;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  body.woocommerce-page #content,
  body.woocommerce-page .mnsk7-content,
  body.woocommerce #content,
  body.woocommerce .mnsk7-content {
    flex-direction: column;
    /* padding-top: canonical 25-global-layout.css — nie ustawiać tutaj */
    padding-left: var(--space-16);
    padding-right: var(--space-16);
    padding-bottom: var(--space-16);
  }
  body.woocommerce-page #content .woocommerce-sidebar,
  body.woocommerce-page #content .widget-area,
  body.woocommerce-page #content aside[role="complementary"],
  body.woocommerce-page .mnsk7-content .woocommerce-sidebar,
  body.woocommerce .mnsk7-content .woocommerce-sidebar,
  body.woocommerce-page .mnsk7-content .widget-area,
  body.woocommerce .mnsk7-content .widget-area,
  body.woocommerce-page .mnsk7-content aside[role="complementary"] {
    flex: 0 0 auto;
    width: 100%;
    order: -1;
  }
}

   § PLP PRODUCT CARDS
   ----------------------------------------------------------------- */

/* Clearfix ::before (Storefront/Woo) = pusta „komórka” w gridzie. Task 7: wyłączamy celowo — nasz layout to grid, nie float-clearfix. */
.woocommerce ul.products::before,
.woocommerce-page ul.products::before,
ul.products.columns-3::before,
ul.products.columns-4::before {
  content: none !important;
  display: none !important;
}

/* Siatka tylko dla sklepu/kategorii (PLP). Recommendation blocks: 12-related-products.css. */
.woocommerce ul.products,
.woocommerce-page ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 1.25rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  justify-content: start !important;
  justify-items: stretch !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
  border-radius: var(--r-md);
  overflow: hidden; /* Task 8: obcięcie obrazu/treści do border-radius karty. */
  padding: 0;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* Product image — 1:1 aspect (Sandvik-style compact card); tylko link z miniatury (z :has(> img)), żeby nie obcinać nazwy/ceny */
.woocommerce ul.products li.product .woocommerce-loop-product__link:has(> img),
.woocommerce ul.products li.product a.woocommerce-loop-product__link:first-of-type {
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--color-surface);
}
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .attachment-woocommerce_thumbnail {
  border-radius: var(--r-md) var(--r-md) 0 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  margin: 0;
}

/* Product title — max 2 lines, readable; no stray underline/focus artifacts. Title is in its own link (theme moves link wrap). */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2 {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text);
  padding: 0.75rem 0.75rem 0.25rem;
  margin: 0;
  min-height: 2.8em;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
/* Product link (image + title links share this class): no browser default underline, no blue link look, no fragmented underline */
.woocommerce ul.products li.product .woocommerce-loop-product__link {
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
  -webkit-tap-highlight-color: transparent;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link:hover,
.woocommerce ul.products li.product .woocommerce-loop-product__link:active,
.woocommerce ul.products li.product .woocommerce-loop-product__link:visited {
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link:focus {
  outline: none;
}
.woocommerce ul.products li.product .woocommerce-loop-product__link:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}

/* Price */
.woocommerce ul.products li.product .price {
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--color-primary-dark);
  padding: 0 0.75rem 0.5rem;
  margin: 0;
}

.woocommerce ul.products li.product .price del {
  color: var(--color-text-muted);
  font-weight: 400;
  font-size: var(--fs-sm);
}

.woocommerce ul.products li.product .price ins {
  text-decoration: none;
  font-weight: 700;
}

/* Add to cart button — prevent vertical text (narrow cards in cart/related).
 * A11y: darker background so white text meets WCAG 4.5:1 (Lighthouse contrast). */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.added_to_cart {
  writing-mode: horizontal-tb;
  display: inline-block;
  width: calc(100% - 1.5rem);
  min-width: 120px;
  margin: auto 0.75rem 0.75rem;
  background: var(--color-primary-dark, var(--color-primary));
  color: var(--color-white);
  border: none;
  border-radius: var(--r-md);
  padding: 0.625rem 1rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: var(--font-base);
  text-align: center;
  cursor: pointer;
  transition: background 0.15s ease;
  text-decoration: none;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  flex-shrink: 0;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product .add_to_cart_button:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
  text-decoration: none;
}
.woocommerce ul.products li.product .button:focus,
.woocommerce ul.products li.product .add_to_cart_button:focus {
  outline: none;
}
.woocommerce ul.products li.product .button:focus-visible,
.woocommerce ul.products li.product .add_to_cart_button:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}
/* Avoid "edit" look: buttons are not text selection */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  -webkit-user-select: none;
  user-select: none;
}

.woocommerce ul.products li.product a.added_to_cart {
  background: var(--color-accent);
}

/* Star rating on PLP */
.woocommerce ul.products li.product .star-rating {
  margin: 0.25rem 0.75rem;
  font-size: var(--fs-xs);
}

/* Sorting / result count */
.storefront-sorting,
.woocommerce-result-count,
.woocommerce-ordering {
  margin-bottom: 1rem;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
}

.woocommerce-ordering select {
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  padding: 0.4rem 0.6rem;
  font-family: var(--font-base);
  font-size: var(--fs-sm);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-color: var(--color-border);
  color: var(--color-text);
  font-size: var(--fs-sm);
  border-radius: var(--r-sm);
  min-width: 36px;
  min-height: 36px;
  line-height: 36px;
}

.woocommerce nav.woocommerce-pagination ul li a:hover {
  background: var(--color-surface);
  color: var(--color-primary);
}

.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}


/* Product image container — fixed aspect so cards stay compact (Sandvik ref); tylko link z miniatury */
.woocommerce ul.products li.product .woocommerce-loop-product__link:has(> img),
.woocommerce ul.products li.product a.woocommerce-loop-product__link:first-of-type {
  display: block;
  aspect-ratio: 1;
  overflow: hidden;
  background: var(--color-surface);
}
.woocommerce ul.products li.product .woocommerce-loop-product__link img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Mobile PLP cards: fill the image box stronger so thumbnails do not look "shrunk". */
body.woocommerce .mnsk7-plp-content .mnsk7-plp-grid-mobile ul.products li.product .woocommerce-loop-product__link img {
  object-fit: cover;
  object-position: center;
}

/* === 06-single-product.css === */
/* 06-single-product — PDP (product_card_visual, UI_SPEC_V2) */

/* PDP: pełna szerokość (bez sidebaru). Dual-support #content/#primary i .mnsk7-* (Task 4). */
body.single-product #content #primary,
body.single-product #content > main,
body.single-product .mnsk7-content .mnsk7-content-area,
body.single-product .mnsk7-content > main.mnsk7-main {
  flex: 1 1 100%;
  max-width: 100%;
}

body.single-product #content .woocommerce-sidebar,
body.single-product .mnsk7-content .woocommerce-sidebar {
  display: none !important;
}

.single-product div.product {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.5rem;
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  padding: 0 1rem 1.5rem;
}

.single-product div.product .mnsk7-pdp-main {
  display: flex;
  flex: 1 1 100%;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 1.5rem;
  width: 100%;
  min-width: 100%;
  overflow: visible;
}

/* Opis, podobne produkty i cała treść pod buyboxem — pełna szerokość, pod zdjęciem i summary */
.single-product div.product > .mnsk7-product-description-accordion,
.single-product div.product > .mnsk7-product-extra-media,
.single-product div.product > .related.products,
.single-product div.product > .upsells.products {
  flex: 1 1 100%;
  width: 100%;
  min-width: 100%;
}

.single-product div.product .images {
  position: sticky;
  top: calc(var(--header-h, 56px) + 0.75rem);
  align-self: flex-start;
  height: fit-content;
  margin-bottom: 0;
  flex: 1 1 320px;
  min-width: 280px;
  max-width: 48%;
}

@media (min-width: 769px) {
  .single-product div.product .images,
  .single-product .images .woocommerce-product-gallery {
    position: sticky;
    top: calc(var(--header-h, 56px) + 1rem);
    z-index: 2;
  }

  .single-product .images .woocommerce-product-gallery {
    height: fit-content;
  }
}

.single-product .images .woocommerce-product-gallery__wrapper {
  margin: 0;
}

.single-product .images .woocommerce-product-gallery {
  position: static;
  top: auto;
  opacity: 1 !important;
  padding: 1rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: calc(var(--r-md) + 4px);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.08);
  overflow: hidden;
}

.single-product .woocommerce-product-gallery.images {
  opacity: 1 !important;
}

.single-product .images .woocommerce-product-gallery__image {
  border-radius: var(--r-md);
  overflow: hidden;
  background: #fff;
}

.single-product div.product .summary.mnsk7-pdp-buybox {
  flex: 1 1 340px;
  min-width: 300px;
  max-width: calc(52% - 1.5rem);
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: 0;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: calc(var(--r-md) + 4px);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.07);
}
/* Kolejność wizualna PDP: okruszki → tytuł → cena + „X osób kupiło” → parametry → formularz (availability wewnątrz przy CTA) → trust */
.single-product .summary.entry-summary.mnsk7-pdp-buybox > * {
  order: 10;
}
.single-product .summary .mnsk7-breadcrumb-wrap {
  order: 0;
}
.single-product .summary .product_title {
  order: 1;
}
.single-product .summary .mnsk7-pdp-price-row {
  order: 2;
}
.single-product .summary .mnsk7-pdp-description-intro {
  order: 3;
}
.single-product .summary form.cart {
  order: 20;
  margin-top: 0;
}
/* Variable: DOM i flex — najpierw wybór wariantu (mu-plugin: add_to_cart przed key params), bez „order:20” na końcu summary */
.single-product .product-type-variable .summary.mnsk7-pdp-buybox > form.cart {
  order: 5;
}
.single-product .product-type-variable .summary.mnsk7-pdp-buybox > .mnsk7-product-key-params {
  order: 4;
}
.single-product .product-type-variable .summary.mnsk7-pdp-buybox > .mnsk7-product-zastosowanie {
  order: 6;
}
.single-product .product-type-variable .summary.mnsk7-pdp-buybox > .mnsk7-product-meta-chips {
  order: 7;
}
.single-product .product-type-variable .summary.mnsk7-pdp-buybox > .mnsk7-product-trust {
  order: 8;
}
#mnsk7-variations {
  scroll-margin-top: calc(var(--header-h, 56px) + 0.75rem);
}
.single-product .summary .mnsk7-product-trust {
  order: 21;
}

.mnsk7-pdp-description-intro {
  margin: 0 0 1rem;
  padding: 0.95rem 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, #f8fbff 0%, #f3f7fb 100%);
  color: var(--color-text);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
}

.mnsk7-pdp-description-intro p:last-child {
  margin-bottom: 0;
}

.single-product .images img {
  border-radius: var(--r-md);
  width: 100%;
  height: auto;
  display: block;
  background: var(--color-surface);
}

.single-product .images .woocommerce-product-gallery__image img {
  min-width: 200px;
}

/* Audit task 8: miniaturki — flex-wrap, bez wewnętrznego scrolla */
.single-product .images .flex-control-thumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.75rem;
  max-width: 100%;
  padding-bottom: 2px;
}

.single-product .images .flex-control-thumbs li {
  width: auto;
  min-width: 56px;
  flex-shrink: 0;
}

.single-product .images .flex-control-thumbs img {
  min-width: 56px;
  width: 56px;
  height: 56px;
  object-fit: cover;
  border-radius: var(--r-sm);
  border: 2px solid transparent;
  transition: border-color 0.15s ease;
}

.single-product .images .flex-control-thumbs li.flex-active img {
  border-color: var(--color-primary);
}

.single-product div.product .summary {
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.single-product .summary .product_title {
  font-size: clamp(1.25rem, 2.5vw, var(--fs-2xl));
  font-weight: 600;
  color: var(--color-text);
  margin: 0 0 0.4rem;
  line-height: 1.18;
  max-width: 22ch;
}

.single-product .summary .price {
  font-size: var(--fs-2xl);
  font-weight: 700;
  color: var(--color-primary-dark);
  margin: 0 0 0.5rem;
  line-height: 1.2;
}
/* Cena + „X osób kupiło” w jednym rzędzie (wrapper z mu-plugina lub flex na rodzicu) */
.mnsk7-pdp-price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem 1.25rem;
  margin-bottom: 0.75rem;
}
.mnsk7-pdp-price-row .price,
.mnsk7-pdp-price-row .mnsk7-product-sold-count { margin: 0; }
.mnsk7-pdp-price-row .mnsk7-product-sold-count {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text-muted, #555);
}

.mnsk7-product-value-statement {
  margin: 0 0 0.85rem;
  color: var(--color-text-secondary);
  font-size: var(--fs-sm);
  line-height: 1.55;
}

.single-product .summary .price del {
  color: var(--color-text-muted);
  font-weight: 500;
  font-size: var(--fs-lg);
  margin-right: 0.5rem;
}

.single-product .summary .price ins {
  text-decoration: none;
}

.single-product .summary .woocommerce-product-rating,
.single-product .summary .star-rating {
  display: none !important;
}

/* Availability + „X osób kupiło” w jednym rzędzie */
.mnsk7-product-availability-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.25rem;
  margin-bottom: 0.75rem;
}

.mnsk7-product-availability-row .mnsk7-product-availability {
  margin: 0;
  padding: 0;
}

.single-product .summary .mnsk7-product-availability {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-accent);
}

.mnsk7-product-availability.out-of-stock {
  color: var(--color-text-muted);
}

/* Availability obok przycisku CTA (jeden blok, compact status) */
.single-product .mnsk7-product-availability--inline {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
  margin: 0;
  padding: 0;
}
.single-product .mnsk7-product-availability--inline.in-stock {
  color: var(--color-accent);
}
.single-product .mnsk7-product-availability--inline.out-of-stock {
  color: var(--color-text-muted);
}
.single-product .mnsk7-product-availability__icon {
  font-style: normal;
  color: inherit;
}

/* Variable: quantity + availability + button w jednym rzędzie */
.single-product .woocommerce-variation-add-to-cart {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

.mnsk7-product-key-params {
  margin: 0.75rem 0;
  padding: 0.85rem 1rem 0.95rem;
  background: linear-gradient(180deg, #f8fafc 0%, #f2f6fb 100%);
  border-radius: var(--r-md);
  border: 1px solid var(--color-border);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.7);
}

.single-product .mnsk7-product-key-params--variable {
  margin-top: 0.5rem;
  padding: 1rem 1rem 1.05rem;
  background: #fff;
  border-color: rgba(15, 23, 42, 0.08);
  box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06);
}

.mnsk7-product-key-params__title {
  font-size: var(--fs-xs);
  font-weight: 700;
  color: var(--color-text-muted);
  margin: 0 0 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.mnsk7-product-key-params__list {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.4rem 1.25rem;
  margin: 0;
  font-size: var(--fs-sm);
}

.mnsk7-product-key-params__list dt {
  margin: 0;
  font-weight: 600;
  color: var(--color-text-secondary);
}

.mnsk7-product-key-params__list dd {
  margin: 0;
  color: var(--color-text);
}

.single-product .summary .wpclv-attributes-single {
  display: none !important;
}

.mnsk7-product-key-params__dd--options {
  min-width: 0;
}

.mnsk7-product-key-params__dd--visuals {
  grid-column: 1 / -1;
  width: 100%;
}

.mnsk7-product-key-params__dd--visuals .mnsk7-variant-visuals {
  margin: 0.2rem 0 0;
  width: 100%;
}

.mnsk7-product-key-params__dd--visuals .mnsk7-variant-visual {
  width: 112px;
  min-width: 112px;
}

.single-product .mnsk7-product-key-params--variable .mnsk7-product-key-params__list {
  grid-template-columns: minmax(0, 1fr);
  gap: 0.7rem;
}

.single-product .mnsk7-product-key-params--variable .mnsk7-product-key-params__list dt {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-text);
}

.single-product .mnsk7-product-key-params--variable .mnsk7-product-key-params__list dd {
  min-width: 0;
}

.mnsk7-variant-visuals {
  display: flex;
  gap: 0.7rem;
  overflow-x: auto;
  padding: 0.15rem 0.05rem 0.35rem;
  margin-bottom: 0.85rem;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
}

.mnsk7-variant-visuals::-webkit-scrollbar {
  display: none;
  height: 0;
}

.mnsk7-variant-visual {
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  width: clamp(92px, 18vw, 118px);
  min-width: clamp(92px, 18vw, 118px);
  padding: 0.35rem;
  border: 1px solid rgba(15, 23, 42, 0.14);
  border-radius: 8px;
  background: #fff;
  color: var(--color-text);
  text-align: left;
  box-shadow: 0 2px 6px rgba(15, 23, 42, 0.04);
  transition: border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease, opacity 0.16s ease;
}

.mnsk7-variant-visual:hover,
.mnsk7-variant-visual:focus-visible {
  border-color: #f97316;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.14);
  outline: none;
}

.mnsk7-variant-visual.is-match {
  border-color: rgba(249, 115, 22, 0.35);
}

.mnsk7-variant-visual.is-current {
  border-color: #f97316;
  box-shadow: inset 0 0 0 1px #f97316, 0 0 0 2px rgba(249, 115, 22, 0.14);
}

.mnsk7-variant-visual.is-dimmed {
  opacity: 0.48;
}

.mnsk7-variant-visual__media {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  overflow: visible;
  border-radius: 6px;
  background: #fff;
}

.mnsk7-variant-visual__media img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}

.mnsk7-variant-visual__fallback,
.mnsk7-variant-visual__label {
  font-size: 0.78rem;
  font-weight: 700;
  line-height: 1.25;
}

.mnsk7-variant-visual__label {
  color: var(--color-text);
}

.mnsk7-key-param-options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  min-width: 0;
}

.single-product .mnsk7-key-param-options--product {
  gap: 0.55rem;
}

.mnsk7-key-param-option {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.4rem;
  min-height: 2rem;
  padding: 0.32rem 0.62rem;
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  background: var(--color-white);
  color: var(--color-text);
  font-size: var(--fs-sm);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
  transition: border-color 0.15s ease, box-shadow 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.mnsk7-key-param-option:hover,
.mnsk7-key-param-option:focus-visible {
  border-color: var(--color-primary);
  color: var(--color-primary-dark);
  box-shadow: 0 0 0 2px rgba(37, 99, 235, 0.14);
  outline: none;
}

.mnsk7-key-param-option.is-current {
  border-color: var(--color-primary);
  background: #eff6ff;
  color: var(--color-primary-dark);
  box-shadow: inset 0 0 0 1px var(--color-primary);
}

.single-product .mnsk7-key-param-option--product {
  min-width: 5.25rem;
  min-height: 3.1rem;
  padding: 0.75rem 0.95rem;
  border-radius: 8px;
  border-color: rgba(15, 23, 42, 0.16);
  font-size: 0.96rem;
  font-weight: 700;
  box-shadow: none;
}

.single-product .mnsk7-key-param-option--product:hover,
.single-product .mnsk7-key-param-option--product:focus-visible {
  border-color: #f97316;
  color: #111827;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.14);
}

.single-product .mnsk7-key-param-option--product.is-current {
  border-color: #f97316;
  background: #fff7ed;
  color: #111827;
  box-shadow: inset 0 0 0 1px #f97316;
}

.single-product .mnsk7-key-param-option--product:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  box-shadow: none;
}

@media (max-width: 767px) {
  .mnsk7-key-param-options {
    flex-wrap: nowrap;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scroll-snap-type: x proximity;
    padding: 0.08rem 0.05rem 0.28rem;
    scrollbar-width: none;
  }

  .mnsk7-key-param-options::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  .mnsk7-key-param-option {
    flex: 0 0 auto;
    scroll-snap-align: start;
  }

  .single-product .mnsk7-product-key-params--variable {
    margin-left: -0.25rem;
    margin-right: -0.25rem;
    padding: 0.9rem;
    border-radius: 10px;
  }

  .single-product .mnsk7-key-param-options--product {
    gap: 0.45rem;
    padding-bottom: 0.3rem;
  }

  .single-product .mnsk7-key-param-option--product {
    min-width: 5rem;
    min-height: 3rem;
    padding: 0.7rem 0.9rem;
  }

  .mnsk7-variant-visuals {
    gap: 0.55rem;
    margin-left: -0.15rem;
    margin-right: -0.15rem;
    padding-left: 0.15rem;
    padding-right: 0.15rem;
  }

  .mnsk7-variant-visual {
    width: 88px;
    min-width: 88px;
    padding: 0.42rem;
  }
}

.mnsk7-product-key-params__dd--select .mnsk7-key-param-select {
  width: 100%;
  max-width: 100%;
  min-height: 44px;
  padding: 0.55rem 2.2rem 0.55rem 0.75rem;
  font-size: var(--fs-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  background: var(--color-white);
  color: var(--color-text);
  cursor: pointer;
}

.mnsk7-product-key-params__dd--select .mnsk7-key-param-select:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 1px;
}

.single-product .product-type-variable form.cart .variations {
  display: none !important;
}

.single-product .product-type-variable form.variations_form table.variations,
.single-product .product-type-variable form.variations_form table.variations tbody,
.single-product .product-type-variable form.variations_form table.variations tr,
.single-product .product-type-variable form.variations_form table.variations td,
.single-product .product-type-variable form.variations_form table.variations .label,
.single-product .product-type-variable form.variations_form table.variations .value,
.single-product .product-type-variable form.variations_form table.variations select {
  display: none !important;
}

.single-product .product-type-variable form.cart .reset_variations {
  display: none !important;
}

.mnsk7-product-zastosowanie {
  margin: 0.75rem 0;
  padding: 0.75rem 1rem;
  background: var(--color-surface);
  border-radius: var(--r-md);
  border-left: 4px solid var(--color-primary);
}

.mnsk7-product-zastosowanie__title {
  font-size: var(--fs-sm);
  font-weight: 700;
  margin: 0 0 0.5rem;
  color: var(--color-text);
}

.mnsk7-product-zastosowanie__text {
  margin: 0;
  font-size: var(--fs-base);
  line-height: 1.5;
  color: var(--color-text-secondary);
}

.single-product div.product .summary form.cart {
  display: grid;
  grid-template-columns: minmax(8.5rem, 9.5rem) minmax(0, 1fr);
  grid-template-areas:
    "variation variation"
    "stock stock"
    "qty cta";
  align-items: stretch;
  gap: 0.7rem 0.8rem;
  margin: 0.75rem 0 0.65rem;
  padding: 0.9rem;
  background: #fff;
  border: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 12px;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.single-product div.product .summary form.cart .mnsk7-product-availability--inline {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  grid-area: stock;
  min-height: 0;
  margin-bottom: 0;
  width: 100%;
  max-width: none;
  padding: 0 0 0.55rem;
  background: transparent;
  border: none;
  border-bottom: 1px solid rgba(15, 23, 42, 0.1);
  border-radius: 0;
  white-space: normal;
}

.single-product .summary form.cart .single_variation_wrap {
  grid-area: variation;
  display: contents;
}

.single-product .summary form.cart .woocommerce-variation {
  grid-area: variation;
  margin: 0;
  padding: 0.72rem 0.85rem;
  border-radius: 10px;
  background: linear-gradient(180deg, #f8fbff 0%, #f1f7ff 100%);
  border: 1px solid rgba(37, 99, 235, 0.14);
}

.single-product .summary form.cart .woocommerce-variation-description {
  display: none;
}

.single-product .summary form.cart .woocommerce-variation-price {
  margin: 0;
}

.single-product .summary form.cart .woocommerce-variation-price .price {
  margin: 0;
  font-size: clamp(1.65rem, 2vw, 2.05rem);
  font-weight: 800;
  letter-spacing: 0;
}

.single-product div.product .summary form.cart .quantity {
  grid-area: qty;
  margin: 0;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) 46px;
  grid-template-rows: 48px;
  align-items: center;
  justify-content: stretch;
  align-self: stretch;
  width: 100%;
  min-width: 0;
  gap: 0;
  padding: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--color-white);
}

.single-product div.product .summary form.cart .quantity::before {
  content: none;
  display: none;
}

/* Variable PDP: final order and desktop compaction overrides */
.single-product .summary.mnsk7-pdp-buybox > .mnsk7-pdp-breadcrumb-slot,
.single-product .summary.mnsk7-pdp-buybox > .mnsk7-breadcrumb-wrap {
  order: 0 !important;
}

.single-product .summary.mnsk7-pdp-buybox > .product_title {
  order: 1 !important;
}

.single-product .summary.mnsk7-pdp-buybox > .mnsk7-pdp-price-row {
  order: 2 !important;
}

.single-product .summary.mnsk7-pdp-buybox > .mnsk7-pdp-description-intro {
  display: none !important;
}

.single-product .summary.mnsk7-pdp-buybox > .mnsk7-product-key-params {
  order: 3 !important;
}

.single-product .summary.mnsk7-pdp-buybox > form.cart {
  order: 4 !important;
}

.single-product .summary.mnsk7-pdp-buybox > .mnsk7-product-zastosowanie {
  order: 5 !important;
}

.single-product .summary.mnsk7-pdp-buybox > .mnsk7-product-trust {
  order: 6 !important;
}

.single-product .summary.mnsk7-pdp-buybox > .mnsk7-product-meta-chips {
  order: 7 !important;
}

@media (min-width: 1024px) {
  .single-product .summary.mnsk7-pdp-buybox {
    gap: 0.8rem;
  }

  .single-product .summary.mnsk7-pdp-buybox > .mnsk7-pdp-breadcrumb-slot {
    display: none;
  }

  .single-product .mnsk7-product-key-params--variable {
    padding: 0.85rem 0.9rem 0.95rem;
  }

  .mnsk7-variant-visuals {
    gap: 0.55rem;
    margin-bottom: 0.55rem;
    padding-bottom: 0.2rem;
  }

  .mnsk7-variant-visual {
    width: 84px;
    min-width: 84px;
    padding: 0.28rem;
  }

  .mnsk7-variant-visual__label {
    font-size: 0.72rem;
  }

  .single-product .mnsk7-key-param-options--product {
    gap: 0.45rem;
  }

  .single-product .mnsk7-key-param-option--product {
    min-width: 4.9rem;
    min-height: 2.8rem;
    padding: 0.6rem 0.8rem;
    font-size: 0.9rem;
  }

  .single-product div.product .summary form.cart {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "variation"
      "stock"
      "qty"
      "cta";
    margin: 0.3rem 0 0.35rem;
    padding: 0.85rem;
    gap: 0.55rem;
    align-items: stretch;
  }

  .single-product .summary form.cart .woocommerce-variation {
    grid-area: variation;
    min-height: 0;
    display: flex;
    align-items: center;
    padding: 0.7rem 0.85rem;
  }

  .single-product .summary form.cart .woocommerce-variation-price .price {
    font-size: clamp(1.6rem, 1.8vw, 1.95rem);
  }

  .single-product div.product .summary form.cart .mnsk7-product-availability--inline {
    grid-area: stock;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: none;
    padding: 0;
    border: none;
    margin: 0;
  }

  .single-product div.product .summary form.cart .mnsk7-product-availability--inline .mnsk7-product-availability {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    padding: 0.35rem 0.68rem;
    border: 1px solid rgba(34, 197, 94, 0.26);
    border-radius: 999px;
    background: #ecfdf3;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.2;
  }

  .single-product div.product .summary form.cart .quantity {
    grid-area: qty;
    grid-template-rows: 52px;
    border-radius: 10px;
    width: 100%;
  }

  .single-product div.product .summary form.cart .single_add_to_cart_button {
    grid-area: cta;
    min-height: 52px;
    border-radius: 10px;
    width: 100%;
  }
}


.single-product .summary .quantity .qty,
.single-product .summary .mnsk7-qty-btn,
.single-product .summary .mnsk7-quantity-lock {
  grid-row: 1;
}

.single-product .summary .mnsk7-qty-btn--minus {
  grid-column: 1;
}

.single-product .summary .quantity .qty,
.single-product .summary .mnsk7-quantity-lock {
  grid-column: 2;
}

.single-product .summary .mnsk7-qty-btn--plus {
  grid-column: 3;
}

.single-product .summary .quantity.quantity--locked {
  grid-template-columns: minmax(0, 1fr);
}

.single-product .summary .quantity.quantity--locked .mnsk7-quantity-lock,
.single-product .summary .quantity.quantity--locked .qty {
  grid-column: 1;
}

.single-product .summary .quantity.quantity--locked .mnsk7-quantity-lock {
  border: none;
  border-radius: 0;
  width: 100%;
  min-height: 100%;
  font-size: var(--fs-base);
}

.single-product .summary .quantity.quantity--stepper .mnsk7-qty-btn,
.single-product .summary .quantity.quantity--stepper .qty {
  border: none;
  background: transparent;
}

.single-product .summary .quantity.quantity--stepper .mnsk7-qty-btn--minus {
  border-radius: 0;
}

.single-product .summary .quantity.quantity--stepper .qty {
  border-left: 1px solid var(--color-border);
  border-right: 1px solid var(--color-border);
  border-radius: 0;
}

.single-product .summary .quantity.quantity--stepper .mnsk7-qty-btn--plus {
  border-radius: 0;
}

.single-product .summary .quantity.quantity--locked {
  justify-content: stretch;
  min-height: 0;
  padding: 0;
}

.single-product .summary .quantity .qty {
  border: none;
  padding: 0 0.25rem;
  font-size: var(--fs-base);
  font-family: var(--font-base);
  width: 100%;
  min-width: 3rem;
  min-height: 0;
  height: auto;
  max-height: 100%;
  line-height: 1.1;
  text-align: center;
  box-shadow: none;
  background: transparent;
  border-radius: 0;
  font-weight: 700;
  appearance: textfield;
  align-self: center;
  justify-self: stretch;
}

.single-product .summary .mnsk7-qty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  border: none;
  background: transparent;
  color: var(--color-text);
  font-size: 0;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  flex-shrink: 0;
  border-radius: 0;
  text-indent: -9999px;
  overflow: hidden;
}
.single-product .summary .mnsk7-qty-btn::before {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.125rem;
  line-height: 1;
  text-indent: 0;
}
.single-product .summary .mnsk7-qty-btn--minus::before {
  content: "-";
}
.single-product .summary .mnsk7-qty-btn--plus::before {
  content: "+";
}

.single-product .summary .mnsk7-qty-btn:hover {
  background: var(--color-surface);
}

.single-product .summary .mnsk7-quantity-lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  min-width: 3.75rem;
  padding: 0 0.75rem;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-text);
  white-space: nowrap;
  background: transparent;
  border-radius: 0;
}

.single-product div.product .summary form.cart .single_add_to_cart_button {
  grid-area: cta;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--color-primary);
  color: var(--color-white);
  padding: var(--space-16) var(--space-32);
  font-size: var(--fs-base);
  font-weight: 700;
  font-family: var(--font-base);
  line-height: 1.2;
  border-radius: var(--r-md);
  border: none;
  cursor: pointer;
  transition: background 0.15s ease, transform 0.1s ease;
  min-height: 48px;
  box-shadow: var(--shadow-sm);
  align-self: stretch;
  flex: 1 1 13rem;
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .single-product div.product .images,
  .single-product .images .woocommerce-product-gallery {
    position: static;
    top: auto;
    z-index: auto;
  }

  .single-product div.product .woocommerce-product-gallery {
    overflow: hidden;
  }

  .single-product div.product .woocommerce-product-gallery__wrapper {
    display: flex !important;
    gap: 0;
    width: 100% !important;
    max-width: 100%;
    transform: none !important;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .single-product div.product .woocommerce-product-gallery__image {
    flex: 0 0 100%;
    width: 100% !important;
    max-width: 100%;
    margin: 0 !important;
    scroll-snap-align: start;
  }

  .single-product div.product .woocommerce-product-gallery__wrapper::-webkit-scrollbar {
    display: none;
  }

  .single-product div.product .flex-control-thumbs {
    display: none !important;
  }

  .single-product div.product .summary form.cart {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "stock"
      "variation"
      "qty"
      "cta";
  }

  .single-product div.product .summary form.cart .woocommerce-variation,
  .single-product div.product .summary form.cart .quantity,
  .single-product div.product .summary form.cart .single_add_to_cart_button {
    grid-column: 1;
  }

  .single-product div.product .summary form.cart .mnsk7-product-availability--inline {
    padding-bottom: 0.625rem;
  }
}

.single-product .summary .single_add_to_cart_button:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
  transform: translateY(-1px);
}

.single-product .summary .single_add_to_cart_button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* PDP polish: tighter buybox + cleaner swatches (desktop), no stray plugin actions. */
.single-product div.product .summary form.cart .woocommerce-variation-add-to-cart {
  margin-top: 0 !important;
  padding: 0 !important;
  width: 100%;
  display: grid !important;
  grid-template-columns: minmax(132px, 176px) minmax(0, 1fr);
  grid-template-areas:
    "stock stock"
    "qty cta";
  gap: 0.6rem 0.7rem;
  align-items: stretch;
}

.single-product div.product .summary form.cart .woocommerce-variation-add-to-cart .mnsk7-product-availability--inline {
  grid-area: stock;
  padding: 0;
  border: none;
  margin: 0;
  min-height: 0;
}

.single-product div.product .summary form.cart .woocommerce-variation-add-to-cart .quantity {
  grid-area: qty;
  width: 100%;
}

.single-product div.product .summary form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  grid-area: cta;
  width: 100%;
  min-height: 52px;
}

.single-product div.product .summary form.cart .woocommerce-variation-add-to-cart .shopengine_add_to_list_action,
.single-product div.product .summary form.cart .woocommerce-variation-add-to-cart .shopengine_comparison_add_to_list_action {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

.single-product .mnsk7-product-key-params--variable .mnsk7-product-key-params__title {
  text-transform: none;
  letter-spacing: 0;
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--color-text);
  margin-bottom: 0.55rem;
}

@media (min-width: 1024px) {
  .single-product .mnsk7-variant-visuals {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
    overflow: visible;
    margin-bottom: 0.7rem;
    padding: 0;
  }

  .single-product .mnsk7-variant-visual {
    width: 100%;
    min-width: 0;
    padding: 0.24rem;
  }

  .single-product div.product .summary form.cart {
    margin: 0.2rem 0 0.25rem;
    padding: 0.8rem;
    gap: 0.5rem;
  }
}

@media (max-width: 768px) {
  .single-product div.product .summary form.cart .woocommerce-variation-add-to-cart {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "stock"
      "qty"
      "cta";
    gap: 0.55rem;
  }
}

/* Siatka 2×2 zamiast flex-wrap — równe kolumny, wyrównanie do buyboxa (bez „poszarpanej” prawej krawędzi). */
.single-product .summary .mnsk7-product-trust {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 0.65rem;
  margin-top: 0.9rem;
  width: 100%;
  align-items: stretch;
}

.single-product .summary .mnsk7-product-trust__badge {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  min-width: 0;
  min-height: 2.35rem;
  height: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.8rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, rgba(248, 250, 252, 0.98) 0%, rgba(241, 245, 249, 0.98) 100%);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--color-text);
}

.single-product .summary .mnsk7-product-trust__badge-label {
  min-width: 0;
  flex: 1 1 auto;
  line-height: 1.35;
}

.single-product .summary .mnsk7-product-trust__badge-icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  min-width: 1rem;
  color: var(--color-primary);
  background: currentColor;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}

.single-product .summary .mnsk7-product-trust__badge-icon--clock {
  -webkit-mask-image: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
  mask-image: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E");
}

.single-product .summary .mnsk7-product-trust__badge-icon--file {
  -webkit-mask-image: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7z'/%3E%3Cpath d='M14 2v5h5'/%3E%3C/svg%3E");
  mask-image: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H7a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V7z'/%3E%3Cpath d='M14 2v5h5'/%3E%3C/svg%3E");
}

.single-product .summary .mnsk7-product-trust__badge-icon--truck {
  -webkit-mask-image: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 17H6V5h8z'/%3E%3Cpath d='M14 9h4l2 3v5h-6z'/%3E%3Ccircle cx='8.5' cy='17.5' r='1.5'/%3E%3Ccircle cx='17.5' cy='17.5' r='1.5'/%3E%3C/svg%3E");
  mask-image: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 17H6V5h8z'/%3E%3Cpath d='M14 9h4l2 3v5h-6z'/%3E%3Ccircle cx='8.5' cy='17.5' r='1.5'/%3E%3Ccircle cx='17.5' cy='17.5' r='1.5'/%3E%3C/svg%3E");
}

.single-product .summary .mnsk7-product-trust__badge-icon--shield {
  -webkit-mask-image: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.8-7 9-4-1.2-7-4.5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
  mask-image: 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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7 3v6c0 4.5-3 7.8-7 9-4-1.2-7-4.5-7-9V6z'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E");
}

.single-product .summary .mnsk7-product-trust__badge--sales .mnsk7-product-trust__badge-icon {
  color: var(--color-warning);
}

.single-product .summary .mnsk7-dostawa-vat {
  margin: 0.75rem 0 0;
  font-size: var(--fs-xs);
  color: var(--color-text-muted);
}

.single-product .summary .mnsk7-product-availability__icon {
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  min-width: 0.5rem;
  border-radius: 999px;
  background: currentColor;
  font-size: 0;
  line-height: 0;
  overflow: hidden;
}

.single-product .summary .product_meta {
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--color-border);
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}

.single-product .summary .product_meta a {
  color: var(--color-primary);
}

/* Link „Wróć do wyników wyszukiwania” nad okruszkami (gdy użytkownik przyszedł z wyszukiwania) */
.mnsk7-pdp-back-search {
  margin: 0 0 0.5rem;
  font-size: var(--fs-sm);
}
.mnsk7-pdp-back-search__link {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 500;
}
.mnsk7-pdp-back-search__link:hover {
  text-decoration: underline;
}

.woocommerce-tabs {
  margin-top: 2.5rem;
  width: 100%;
}

.woocommerce-tabs ul.tabs {
  list-style: none;
  padding: 0;
  margin: 0 0 1rem;
  border-bottom: 2px solid var(--color-border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
}

.single-product .summary .mnsk7-notify-stock-btn {
  display: block;
  width: 100%;
  margin: 0.6rem 0 0.15rem;
  text-align: center;
  min-height: 48px;
  padding: 0.78rem 1rem;
}

body.mnsk7-pdp-switching .single-product main .product {
  opacity: 0.72;
  transition: opacity 0.15s ease;
}

.woocommerce-tabs ul.tabs li {
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}

.woocommerce-tabs ul.tabs li a {
  display: block;
  padding: 0.75rem 1.25rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
  border: 1px solid transparent;
  border-radius: var(--r-pill);
  margin-bottom: 0;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
  text-decoration: none;
  min-height: 44px;
  box-sizing: border-box;
}

.woocommerce-tabs ul.tabs li a:hover {
  color: var(--color-primary);
  text-decoration: none;
}

.woocommerce-tabs ul.tabs li.active a {
  color: var(--color-primary);
  border-color: rgba(12, 125, 219, 0.18);
  background: rgba(12, 125, 219, 0.08);
}

.woocommerce-tabs .panel {
  padding: 1.25rem 0;
  font-size: var(--fs-base);
  line-height: 1.7;
  color: var(--color-text);
}

/* Opis jako harmonijka (domyślnie zwinięty) — zawsze pod blokiem zdjęcie+buybox. Task 8: overflow: hidden — obcięcie do border-radius. */
.mnsk7-product-description-accordion {
  margin: 1.25rem 0 0.5rem;
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  overflow: hidden;
}

.mnsk7-product-description-accordion__summary {
  padding: 0.75rem 1rem;
  font-weight: 600;
  font-size: var(--fs-sm);
  color: var(--color-text);
  cursor: pointer;
  list-style: none;
  background: var(--color-surface);
  user-select: none;
}

.mnsk7-product-description-accordion__summary::-webkit-details-marker {
  display: none;
}

.mnsk7-product-description-accordion__summary::before {
  content: '+ ';
  margin-right: 0.25rem;
}

.mnsk7-product-description-accordion[open] .mnsk7-product-description-accordion__summary::before {
  content: '− ';
}

.mnsk7-product-description-accordion__content {
  padding: var(--space-16);
  border-top: 1px solid var(--color-border);
  font-size: var(--fs-sm);
  line-height: 1.6;
}

.woocommerce-tabs .panel h2 {
  font-size: var(--fs-lg);
  margin-bottom: 0.75rem;
}

/* PDP: related/upsells na pełną szerokość (breakout z paddingu). Siatka i karta: 12-related-products.css. */
.single-product .related.products,
.single-product .upsells.products,
.single-product .up-sells.products {
  width: calc(100% + 2rem);
  min-width: 0;
  margin-top: 2rem;
  margin-left: -1rem;
  margin-right: -1rem;
  box-sizing: border-box;
}
.single-product .related.products > h2,
.single-product .upsells.products > h2,
.single-product .up-sells.products > h2 {
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (max-width: 768px) {
  .single-product .related.products,
  .single-product .upsells.products,
  .single-product .up-sells.products {
    width: 100%;
    margin: 1.4rem 0 0;
    padding: 1rem;
    background: linear-gradient(180deg, #f8fafc 0%, #f3f6fa 100%);
    border: 1px solid var(--color-border);
    border-radius: var(--r-md);
    box-sizing: border-box;
  }

  .single-product .related.products > h2,
  .single-product .upsells.products > h2,
  .single-product .up-sells.products > h2 {
    padding-left: 0;
    padding-right: 0;
    margin-bottom: 0.2rem;
    font-size: var(--fs-lg);
  }
}

@media (max-width: 1023px) {
  .single-product div.product,
  .single-product div.product .mnsk7-pdp-main {
    flex-direction: column;
    gap: 1rem;
  }

  .single-product div.product > .summary.mnsk7-pdp-buybox,
  .single-product div.product .mnsk7-pdp-main > .summary.mnsk7-pdp-buybox {
    order: 2;
  }

  .single-product div.product .images {
    position: static !important;
    top: auto !important;
    max-width: 100%;
    order: 1;
    width: 100%;
    min-width: 0;
    flex: 0 0 100%;
    float: none;
  }

  .single-product div.product .woocommerce-product-gallery.images,
  .single-product .images .woocommerce-product-gallery {
    position: static !important;
    top: auto !important;
    width: 100% !important;
    max-width: 100%;
    float: none;
  }

  .single-product div.product .summary.mnsk7-pdp-buybox {
    max-width: 100% !important;
    width: 100% !important;
    min-width: 0;
    flex: 0 0 100%;
    float: none;
  }

  .single-product div.product > .mnsk7-product-extra-media,
  .single-product div.product > .mnsk7-product-description-accordion {
    order: 3;
  }

  .single-product div.product > details.mnsk7-product-description-accordion,
  .single-product div.product > .mnsk7-product-description-accordion {
    order: 3;
  }

  .single-product div.product > .related.products,
  .single-product div.product > .upsells.products,
  .single-product div.product > .up-sells.products {
    order: 4;
  }

  .single-product div.product > section.related.products,
  .single-product div.product > section.upsells.products,
  .single-product div.product > section.up-sells.products {
    order: 4;
  }

  .single-product div.product > nav.storefront-product-pagination {
    order: 5;
  }
}

/* Touch fallback: real phones with desktop-width layout viewport still need mobile PDP stack. */
@media (hover: none) and (pointer: coarse) {
  .single-product div.product,
  .single-product div.product .mnsk7-pdp-main {
    flex-direction: column;
    gap: 1rem;
  }
  .single-product div.product .images,
  .single-product div.product .summary.mnsk7-pdp-buybox {
    max-width: 100%;
    min-width: 0;
    flex-basis: 100%;
  }
  .single-product div.product .images {
    position: static;
    top: auto;
    order: 1;
  }
  .single-product div.product .summary.mnsk7-pdp-buybox {
    order: 2;
  }
  .single-product div.product > .mnsk7-product-extra-media,
  .single-product div.product > .mnsk7-product-description-accordion {
    order: 3;
  }
  .single-product div.product > details.mnsk7-product-description-accordion,
  .single-product div.product > .mnsk7-product-description-accordion {
    order: 3;
  }
  .single-product div.product > .related.products,
  .single-product div.product > .upsells.products,
  .single-product div.product > .up-sells.products {
    order: 4;
  }
  .single-product div.product > section.related.products,
  .single-product div.product > section.upsells.products,
  .single-product div.product > section.up-sells.products {
    order: 4;
  }
  .single-product div.product > nav.storefront-product-pagination {
    order: 5;
  }
}

@media (min-width: 901px) {
  .single-product div.product,
  .single-product div.product .mnsk7-pdp-main {
    overflow: visible !important;
  }

  .single-product div.product .mnsk7-pdp-main {
    padding-bottom: 2rem;
  }

  .single-product div.product .woocommerce-product-gallery.images,
  .single-product div.product .images {
    position: sticky !important;
    top: calc(var(--mnsk7-promo-h, 0px) + var(--header-h, 56px) + 1rem) !important;
    z-index: 2;
    align-self: flex-start;
    height: fit-content;
  }

  .single-product div.product .flex-control-thumbs {
    display: none !important;
  }
}

@media (max-width: 768px) {
  .single-product div.product {
    gap: 0.85rem;
    margin-top: 0.4rem;
    padding: 0 1rem 1.25rem;
  }

  .single-product div.product .mnsk7-pdp-main {
    gap: 0.85rem;
  }

  .single-product .summary .product_title {
    max-width: none;
    font-size: clamp(1.1rem, 5.2vw, 1.35rem);
    line-height: 1.24;
    margin-bottom: 0.35rem;
  }

  .mnsk7-pdp-price-row {
    gap: 0.35rem 0.85rem;
    margin-bottom: 0.55rem;
  }

  .mnsk7-pdp-price-row .price {
    font-size: clamp(1.45rem, 7vw, 1.75rem);
  }

  .mnsk7-pdp-price-row .mnsk7-product-sold-count {
    font-size: var(--fs-xs);
  }

  .single-product div.product .images {
    margin-top: 0;
  }

  .single-product .images .woocommerce-product-gallery {
    margin: 0 -0.1rem;
  }

  .single-product .images .woocommerce-product-gallery__wrapper {
    border-radius: var(--r-md);
    overflow: hidden;
    background: linear-gradient(180deg, #f8fafc 0%, #eef2f7 100%);
  }

  .single-product .images .woocommerce-product-gallery__image img {
    min-width: 0;
    max-height: 320px;
    object-fit: contain;
  }

  .single-product .images .flex-control-thumbs {
    gap: 0.35rem;
    margin-top: 0.5rem;
  }

  .single-product .summary .single_add_to_cart_button {
    min-height: 48px;
    width: 100%;
  }

  .single-product div.product .summary form.cart {
    grid-template-columns: 1fr;
    align-items: stretch;
    gap: 0.625rem;
    padding: 0.75rem;
  }

  .single-product div.product .summary form.cart .mnsk7-product-availability--inline {
    grid-column: auto;
    width: 100%;
    justify-content: center;
  }

  .single-product div.product .summary form.cart .quantity {
    margin-right: 0;
    min-width: 0;
  }

  .single-product div.product .summary form.cart .single_add_to_cart_button {
    grid-column: auto;
    width: 100%;
  }

  .mnsk7-product-key-params {
    margin: 0.55rem 0 0.45rem;
    padding: 0.75rem 0.85rem 0.8rem;
  }

  .mnsk7-product-key-params__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.1rem;
  }

  .mnsk7-product-key-params__list dt {
    margin-top: 0.45rem;
    font-size: 0.74rem;
    line-height: 1.35;
  }

  .mnsk7-product-key-params__list dt:first-child {
    margin-top: 0;
  }

  .mnsk7-product-key-params__list dd {
    font-size: 0.88rem;
    line-height: 1.4;
  }

  .single-product .summary .mnsk7-product-trust {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    margin-top: 0.7rem;
  }

  .single-product .summary .mnsk7-product-trust__badge {
    min-width: 0;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: 0;
    padding: 0.6rem 0.65rem;
  }

  .single-product .summary .mnsk7-product-trust__badge-label {
    line-height: 1.35;
  }
}

/* Sticky CTA na mobile (PDP): widoczny tylko ≤768px, ukrywany gdy główny formularz w viewport */
.mnsk7-pdp-sticky-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999;
  background: var(--color-white);
  border-top: 1px solid var(--color-border);
  box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.08);
  padding: 0.75rem var(--space-16);
  padding-bottom: calc(0.75rem + env(safe-area-inset-bottom, 0px));
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
}

.mnsk7-pdp-sticky-cta[hidden] {
  display: none !important;
}

.mnsk7-pdp-sticky-cta.is-visible {
  display: flex !important;
}

@media (max-width: 768px) {
  body.mnsk7-pdp-sticky-cta-visible {
    padding-bottom: calc(var(--mnsk7-sticky-cta-h, 88px) + env(safe-area-inset-bottom, 0px));
  }
}

.mnsk7-pdp-sticky-cta__left {
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
  min-width: 0;
}
.mnsk7-pdp-sticky-cta__price {
  font-size: var(--fs-xl);
  font-weight: 800;
  color: var(--color-primary-dark);
}
.mnsk7-pdp-sticky-cta__stock {
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--color-accent);
}

.mnsk7-pdp-sticky-cta__price del {
  color: var(--color-text-muted);
  font-weight: 500;
  font-size: var(--fs-base);
}

.mnsk7-pdp-sticky-cta__price ins {
  text-decoration: none;
}

.mnsk7-pdp-sticky-cta__btn {
  flex-shrink: 0;
  background: var(--color-primary);
  color: var(--color-white);
  padding: 0.75rem 1.5rem;
  font-size: var(--fs-base);
  font-weight: 700;
  border: none;
  border-radius: var(--r-md);
  cursor: pointer;
  min-height: 48px;
  white-space: nowrap;
}

.mnsk7-pdp-sticky-cta__btn:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
}

@media (min-width: 769px) {
  .mnsk7-pdp-sticky-cta {
    display: none !important;
  }
}

/* PDP final cleanup: compact desktop buybox and no duplicate "second selector" UX */
@media (min-width: 1024px) {
  .single-product .summary.mnsk7-pdp-buybox {
    gap: 0.65rem !important;
    padding: 1rem;
  }

  .single-product .summary.mnsk7-pdp-buybox > .mnsk7-pdp-price-row {
    margin: 0;
    padding: 0.72rem 0.88rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 10px;
    background: #fff;
  }

  .single-product .summary.mnsk7-pdp-buybox > .mnsk7-pdp-price-row .price {
    font-size: clamp(2rem, 2.4vw, 2.35rem);
    line-height: 1.1;
  }

  .single-product .summary.mnsk7-pdp-buybox > form.cart {
    margin: 0 !important;
    padding: 0.75rem !important;
    grid-template-columns: minmax(136px, 176px) minmax(0, 1fr) !important;
    grid-template-areas:
      "stock stock"
      "qty cta" !important;
    gap: 0.6rem 0.7rem !important;
    align-items: stretch !important;
  }

  .single-product .summary.mnsk7-pdp-buybox > form.cart .mnsk7-product-availability--inline {
    padding: 0 0 0.45rem !important;
    margin: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(15, 23, 42, 0.1) !important;
  }

  .single-product .summary.mnsk7-pdp-buybox > form.cart .quantity {
    min-height: 50px;
  }

  .single-product .summary.mnsk7-pdp-buybox > form.cart .single_add_to_cart_button {
    min-height: 50px;
  }

  .single-product .mnsk7-variant-visuals {
    overflow: visible !important;
    padding-bottom: 0 !important;
  }
}

/* Prod mobile CRO: put the buying path before the gallery and keep it compact. */
@media (max-width: 768px) {
  .single-product div.product {
    margin-top: 0.25rem !important;
    padding: 0 0.75rem 1rem !important;
    gap: 0.65rem !important;
  }

  .single-product div.product .mnsk7-pdp-main {
    gap: 0.65rem !important;
  }

  .single-product div.product > .summary.mnsk7-pdp-buybox,
  .single-product div.product .mnsk7-pdp-main > .summary.mnsk7-pdp-buybox {
    order: 1 !important;
  }

  .single-product div.product .images,
  .single-product div.product .mnsk7-pdp-main > .images {
    order: 2 !important;
  }

  .single-product div.product .summary.mnsk7-pdp-buybox {
    padding: 0.82rem !important;
    border-radius: 10px !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
  }

  .single-product .summary .mnsk7-breadcrumb-wrap,
  .single-product .summary .mnsk7-pdp-breadcrumb-slot {
    display: none !important;
  }

  .single-product .summary .product_title {
    font-size: clamp(1.08rem, 4.9vw, 1.32rem) !important;
    line-height: 1.22 !important;
    margin-bottom: 0.3rem !important;
  }

  .single-product .summary.mnsk7-pdp-buybox > .mnsk7-pdp-price-row {
    margin-bottom: 0.45rem !important;
  }

  .single-product .summary.mnsk7-pdp-buybox > .mnsk7-product-key-params {
    margin: 0.35rem 0 0.45rem !important;
    padding: 0.7rem !important;
    border-radius: 10px !important;
  }

  .single-product .mnsk7-product-key-params--variable .mnsk7-product-key-params__list {
    gap: 0.5rem !important;
  }

  .single-product .mnsk7-key-param-options--product,
  .single-product .mnsk7-variant-visuals {
    margin-bottom: 0 !important;
  }

  .single-product div.product .summary form.cart {
    grid-template-columns: minmax(6.2rem, 7.25rem) minmax(0, 1fr) !important;
    grid-template-areas:
      "stock stock"
      "variation variation"
      "qty cta" !important;
    gap: 0.55rem !important;
    margin: 0.45rem 0 0.55rem !important;
    padding: 0.66rem !important;
    border-radius: 10px !important;
  }

  .single-product div.product .summary form.cart .quantity {
    min-height: 50px;
  }

  .single-product div.product .summary form.cart .single_add_to_cart_button {
    min-height: 50px !important;
    padding-left: 0.7rem !important;
    padding-right: 0.7rem !important;
    white-space: normal;
  }

  .single-product .summary .mnsk7-product-trust {
    margin-top: 0.45rem !important;
    gap: 0.4rem !important;
  }

  .single-product .summary .mnsk7-product-trust__badge {
    padding: 0.5rem 0.55rem !important;
    font-size: 0.76rem !important;
  }

  .single-product .images .woocommerce-product-gallery {
    padding: 0.55rem !important;
    box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06) !important;
  }

  .mnsk7-pdp-sticky-cta {
    padding: 0.55rem 0.75rem !important;
    gap: 0.65rem !important;
  }

  .mnsk7-pdp-sticky-cta__price {
    font-size: 1rem !important;
    line-height: 1.15 !important;
  }

  .mnsk7-pdp-sticky-cta__btn {
    min-height: 46px !important;
    padding: 0.68rem 1rem !important;
    font-size: 0.92rem !important;
  }
}

@media (max-width: 340px) {
  .single-product div.product .summary form.cart {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "stock"
      "variation"
      "qty"
      "cta" !important;
  }
}
/* Encoding-safe accordion state marker. */
.mnsk7-product-description-accordion[open] .mnsk7-product-description-accordion__summary::before {
  content: "- ";
}

/* === 07-mnsk7-blocks.css === */
/* 07-mnsk7-blocks — extracted from main.css */

   § MNK7 CUSTOM BLOCKS (mu-plugin)
   ----------------------------------------------------------------- */

/* -----------------------------------------------------------------
   § LOCAL UI KIT — core primitives for future page work
   Change tokens in 01-tokens.css first, then these aliases/components.
   ----------------------------------------------------------------- */

.mnsk7-ui-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.9rem;
  padding: 0.42rem 0.78rem;
  border-radius: var(--r-pill);
  background: rgba(12, 125, 219, 0.08);
  border: 1px solid var(--ui-stroke-strong);
  color: var(--ui-kicker);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  width: fit-content;
}

.mnsk7-ui-heading {
  margin: 0 0 0.65rem;
  color: var(--ui-heading);
  font-size: var(--fs-2xl);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.mnsk7-ui-copy {
  color: var(--ui-copy);
  font-size: var(--fs-base);
  line-height: 1.6;
}

.mnsk7-ui-card {
  border-radius: var(--ui-card-radius);
  background: var(--ui-surface-card);
  border: 1px solid var(--ui-stroke-soft);
  box-shadow: var(--ui-card-shadow);
}

.mnsk7-ui-panel {
  position: relative;
  border-radius: var(--ui-section-radius);
  background: var(--ui-surface-panel);
  border: 1px solid var(--ui-stroke-soft);
  box-shadow: var(--ui-panel-shadow);
}

.mnsk7-ui-chip {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0.45rem 0.8rem;
  border-radius: var(--r-pill);
  background: var(--color-white);
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-size: var(--fs-sm);
  font-weight: 600;
  text-decoration: none;
}

.mnsk7-ui-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-24);
}

@media (max-width: 768px) {
  .mnsk7-ui-grid-2 {
    grid-template-columns: 1fr;
    gap: var(--space-16);
  }
}

/* Key params table. overflow: hidden — obcinanie zawartości do border-radius. */
.mnsk7-product-key-params {
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  overflow: hidden;
  margin: var(--space-16) 0;
}

.mnsk7-product-key-params__title {
  background: var(--color-surface);
  padding: 0.625rem 0.75rem;
  margin: 0;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-border);
}

.mnsk7-product-key-params__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  margin: 0;
}

.mnsk7-product-key-params dt,
.mnsk7-product-key-params dd {
  padding: 0.5rem 0.75rem;
  margin: 0;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--fs-sm);
  line-height: 1.5;
}

.mnsk7-product-key-params dt {
  font-weight: 600;
  color: var(--color-text-secondary);
  background: var(--color-surface);
}

.mnsk7-product-key-params dd {
  font-weight: 500;
  color: var(--color-text);
}

.mnsk7-product-key-params dt:last-of-type,
.mnsk7-product-key-params dd:last-of-type {
  border-bottom: none;
}

/* Availability pill */
.mnsk7-product-availability {
  display: inline-block;
  padding: 0.25rem 0.75rem;
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 600;
  margin: 0.5rem 0;
  line-height: 1.4;
}

.mnsk7-product-availability.in-stock {
  background: rgba(34, 197, 94, 0.12);
  color: #16a34a;
}

.mnsk7-product-availability.out-of-stock {
  background: rgba(239, 68, 68, 0.12);
  color: var(--color-danger);
}

.mnsk7-product-availability.on-backorder,
.mnsk7-product-availability.available-on-backorder {
  background: rgba(245, 158, 11, 0.12);
  color: #d97706;
}

/* Trust badges */
.mnsk7-product-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0.75rem 0;
}

.mnsk7-product-trust__badge {
  display: inline-flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.25rem 0.75rem;
  border-radius: var(--r-pill);
  border: 1px solid var(--color-border-strong);
  color: var(--color-text-secondary);
  font-size: var(--fs-xs);
  font-weight: 500;
  line-height: 1.4;
}

.mnsk7-product-trust__badge svg,
.mnsk7-product-trust__badge .dashicons,
.mnsk7-product-trust__badge-icon {
  color: var(--color-accent);
  width: 14px;
  height: 14px;
}

.mnsk7-product-trust__badge--sales {
  border-color: var(--color-warning);
  color: #b45309;
}

.mnsk7-product-trust__badge--sales svg,
.mnsk7-product-trust__badge--sales .dashicons {
  color: var(--color-warning);
}

/* Zastosowanie callout */
.mnsk7-product-zastosowanie {
  border-left: 4px solid var(--color-accent);
  padding: 0.75rem 1rem;
  background: var(--color-surface);
  border-radius: 0 var(--r-sm) var(--r-sm) 0;
  margin: 0.75rem 0;
}

.mnsk7-product-zastosowanie__title {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-text);
  margin: 0 0 0.25rem;
}

.mnsk7-product-zastosowanie__text {
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  margin: 0;
  line-height: 1.5;
}

/* Meta chips (kategorie/tagi) — ładne pilli */
.mnsk7-product-meta-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: var(--space-16) 0 0;
  padding-top: var(--space-16);
  border-top: 1px solid var(--color-border);
}

.mnsk7-product-meta-chips__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: center;
}

.mnsk7-product-meta-chips a {
  display: inline-block;
  padding: 0.35rem 0.75rem;
  background: var(--color-surface);
  color: var(--color-text);
  border: 1px solid var(--color-border);
  border-radius: var(--r-pill);
  font-size: var(--fs-xs);
  font-weight: 500;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.mnsk7-product-meta-chips a:hover {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
  text-decoration: none;
}

/* Dostawa + VAT line */
.mnsk7-dostawa-vat {
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  margin: 0.5rem 0;
  padding: 0.375rem 0;
}

.mnsk7-footer-dostawa-vat {
  text-align: center;
  padding: 0.5rem 0;
  background: var(--color-surface);
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
}

/* === 08-home-sections.css === */
/* 08-home-sections — extracted from main.css */

/* -----------------------------------------------------------------
   § HOME PAGE SECTIONS
   ----------------------------------------------------------------- */

.mnsk7-front-page {
  padding: 0;
  display: flex;
  flex-direction: column;
}

.mnsk7-front-page .mnsk7-hero { order: 10; }
.mnsk7-front-page .mnsk7-section--bestsellers { order: 20; }
.mnsk7-front-page .mnsk7-section--catalog { order: 30; }
.mnsk7-front-page .mnsk7-section--loyalty { order: 40; }
.mnsk7-front-page .mnsk7-section--trust { order: 50; }
.mnsk7-front-page .mnsk7-section--insta { order: 60; }

/* Hero — czytelny, full-bleed (bez białych pasów od padding #content). Audit task 6: overflow visible */
.mnsk7-hero {
  background:
    radial-gradient(circle at top center, rgba(216, 154, 87, 0.16), transparent 22%),
    radial-gradient(circle at 85% 18%, rgba(56, 91, 144, 0.16), transparent 24%),
    linear-gradient(180deg, #090d13 0%, #0b111a 58%, #0d141d 100%);
  color: #f5f1eb;
  text-align: left;
  padding: 4.8rem 1.5rem 4.3rem;
  position: relative;
  overflow: visible;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  width: calc(100% + 3rem);
  max-width: none;
  border-bottom: 1px solid rgba(214, 224, 240, 0.08);
}
@media (min-width: 768px) {
  .mnsk7-hero {
    margin-left: -2rem;
    margin-right: -2rem;
    width: calc(100% + 4rem);
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.mnsk7-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255,255,255,0.04), transparent 36%),
    repeating-linear-gradient(90deg, rgba(255,255,255,0.03) 0 1px, transparent 1px 120px);
  pointer-events: none;
}

.mnsk7-hero__inner {
  position: relative;
  z-index: 1;
  max-width: var(--content-max);
  margin: 0 auto;
  overflow: visible;
}

.mnsk7-hero__split {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  align-items: stretch;
  gap: clamp(1.5rem, 4vw, 3rem);
}

.mnsk7-hero__content {
  max-width: 42rem;
  align-self: center;
}

.mnsk7-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1.1rem;
  padding: 0.45rem 0.86rem;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.09);
  color: #f1d7b2;
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.mnsk7-hero__title {
  font-size: clamp(2.3rem, 5.2vw, 4.55rem);
  font-weight: 800;
  color: #f7f2eb;
  margin: 0 0 1.15rem;
  line-height: 0.98;
  letter-spacing: -0.03em;
  text-wrap: balance;
  text-shadow: none;
  max-width: 13ch;
}

.mnsk7-hero__title span {
  display: block;
  color: #d89a57;
}

.mnsk7-hero__title-accent {
  display: block;
  color: #d89a57;
}

.mnsk7-hero__lead {
  font-size: clamp(1.02rem, 1.6vw, 1.2rem);
  color: rgba(239, 244, 250, 0.76);
  margin: 0 0 1.3rem;
  max-width: 37rem;
  font-weight: 450;
  letter-spacing: 0.01em;
  line-height: 1.65;
}

.mnsk7-hero__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.8rem;
  margin: 0 0 1.25rem;
}

.mnsk7-hero__stat {
  display: grid;
  gap: 0.2rem;
  padding: 1rem 1rem 0.95rem;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.03);
}

.mnsk7-hero__stat-value {
  font-size: clamp(1.2rem, 2vw, 1.65rem);
  font-weight: 800;
  color: #fbf7f0;
  line-height: 1.05;
}

.mnsk7-hero__stat-label {
  color: rgba(230, 238, 248, 0.62);
  font-size: var(--fs-xs);
  line-height: 1.35;
}

.mnsk7-hero__materials {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin: 0 0 1rem;
  list-style: none;
  padding: 0;
}
.mnsk7-hero__material-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.42rem 0.88rem;
  font-size: 0.88rem;
  font-weight: 600;
  color: #edf3fa;
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--r-pill);
  white-space: nowrap;
  transition: background 0.2s ease, border-color 0.2s ease;
}
.mnsk7-hero__material-chip:hover {
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(216, 154, 87, 0.4);
}

.mnsk7-hero__usps {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0.6rem;
  margin-bottom: 1.35rem;
  overflow: visible;
}

.mnsk7-hero__usp {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: rgba(255, 255, 255, 0.03);
  padding: 0.55rem 0.95rem;
  border-radius: var(--r-pill);
  font-size: 0.88rem;
  font-weight: 600;
  color: #edf3fa;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.mnsk7-hero__usp-icon {
  font-size: var(--fs-base);
  line-height: 1;
}
.mnsk7-hero__usp-icon:not(:empty) {
  display: inline-block;
}
.mnsk7-hero__usp-icon:empty::before {
  content: "";
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 999px;
  background: #d89a57;
  box-shadow: 0 0 0 4px rgba(216, 154, 87, 0.16);
  font-weight: 700;
  display: inline-block;
}

.mnsk7-hero__ctas {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.mnsk7-hero__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.95rem 2rem;
  border-radius: var(--r-md);
  font-size: 1rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease;
  min-height: 48px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.18);
}

.mnsk7-hero__btn--primary {
  background: #d89a57;
  color: #120f0b;
  box-shadow: 0 16px 36px rgba(216, 154, 87, 0.22);
  padding: 1rem 2.25rem;
  font-size: 1rem;
}

.mnsk7-hero__btn--primary:hover {
  background: #e2a569;
  color: #120f0b;
  text-decoration: none;
  transform: translateY(-2px);
  box-shadow: 0 20px 40px rgba(216, 154, 87, 0.24);
}

.mnsk7-hero__btn--secondary {
  background: rgba(255, 255, 255, 0.02);
  color: #f5f1eb;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: none;
}

.mnsk7-hero__btn--secondary:hover,
.mnsk7-hero__btn--secondary:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
  text-decoration: none;
  transform: translateY(-1px);
}

.mnsk7-hero__rail {
  min-width: 0;
  align-self: stretch;
}

.mnsk7-hero__panel {
  position: relative;
  display: grid;
  gap: 1rem;
  height: 100%;
  padding: 1.6rem 1.45rem;
  border-radius: var(--ui-section-radius);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.03)),
    linear-gradient(180deg, #101721, #0d141c);
  border: 1px solid rgba(216, 154, 87, 0.18);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.22);
}

.mnsk7-hero__panel-kicker {
  margin: 0;
  color: #d89a57;
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mnsk7-hero__panel-title {
  margin: 0;
  color: #f7f2eb;
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  font-weight: 800;
  line-height: 1.22;
}

.mnsk7-hero__proof-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mnsk7-hero__proof-row {
  display: grid;
  gap: 0.35rem;
  align-items: start;
  padding: 0.95rem 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.mnsk7-hero__proof-row:first-child {
  border-top: none;
  padding-top: 0;
}

.mnsk7-hero__proof-label {
  color: #f4efe9;
  font-size: 0.98rem;
  font-weight: 700;
  line-height: 1.25;
}

.mnsk7-hero__proof-text {
  color: rgba(230, 238, 248, 0.68);
  font-size: 0.92rem;
  line-height: 1.5;
}

.mnsk7-hero__panel-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
}

.mnsk7-hero__panel-chip {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0.45rem 0.8rem;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
  color: #edf3fa;
  font-size: 0.82rem;
  font-weight: 600;
}

/* Sections */
.mnsk7-section {
  padding: clamp(3.25rem, 6vw, 5rem) 0;
  position: relative;
}

.mnsk7-section--light {
  background: linear-gradient(180deg, #f8fbff 0%, #f1f6fb 100%);
}

.mnsk7-section--bestsellers {
  background:
    radial-gradient(circle at 18% 12%, rgba(216, 154, 87, 0.12), transparent 16%),
    linear-gradient(180deg, #090d13 0%, #0b1118 100%);
  color: #f5f1eb;
}

.mnsk7-section--bestsellers .col-full {
  max-width: var(--content-max);
  margin: 0 auto;
}

.mnsk7-section--bestsellers .mnsk7-section__eyebrow {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.09);
  color: #f1d7b2;
}

.mnsk7-section--bestsellers .mnsk7-section__title {
  color: #f7f2eb;
}

.mnsk7-section--bestsellers .mnsk7-section__sub {
  color: rgba(230, 238, 248, 0.68);
}

.mnsk7-section--bestsellers .mnsk7-section__more {
  text-align: right;
  margin-top: 1.35rem;
}

.mnsk7-section--bestsellers .mnsk7-section__more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.72rem 1.15rem;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: #f7f2eb;
  background: rgba(255, 255, 255, 0.02);
  text-decoration: none;
}

.mnsk7-section--bestsellers .mnsk7-section__more a:hover,
.mnsk7-section--bestsellers .mnsk7-section__more a:focus-visible {
  background: rgba(255, 255, 255, 0.06);
  color: #ffffff;
}

.mnsk7-section__header--bestsellers {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1.5rem;
  margin-bottom: 2rem;
  text-align: center;
}

.mnsk7-section__header--bestsellers .mnsk7-section__header-copy {
  max-width: 44rem;
  margin: 0 auto;
}

.mnsk7-section__header--bestsellers .mnsk7-section__eyebrow,
.mnsk7-section__header--bestsellers .mnsk7-section__title,
.mnsk7-section__header--bestsellers .mnsk7-section__sub {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

/* Dlaczego kupujący + Program rabatowy — beżowe tło full-bleed (bez bocznych odstępów) */
.mnsk7-section--trust.mnsk7-section--light,
.mnsk7-section--loyalty.mnsk7-section--light,
.mnsk7-section--catalog.mnsk7-section--light,
.mnsk7-section--insta {
  margin-left: -1rem;
  margin-right: -1rem;
  width: calc(100% + 2rem);
  max-width: none;
  box-sizing: border-box;
}
@media (min-width: 768px) {
  .mnsk7-section--trust.mnsk7-section--light,
  .mnsk7-section--loyalty.mnsk7-section--light,
  .mnsk7-section--catalog.mnsk7-section--light,
  .mnsk7-section--insta {
    margin-left: -2rem;
    margin-right: -2rem;
    width: calc(100% + 4rem);
  }
}

/* Kategorie (#kategorie): col-full w obrębie --content-max, min-width 0 — bez poziomego „przesunu” przy full-bleed */
#kategorie .col-full {
  width: 100%;
  max-width: min(var(--content-max, 75rem), 100%);
  margin-inline: auto;
  box-sizing: border-box;
  min-width: 0;
}
/* Przeglądaj asortyment (TASK 12) — białe tło, chipy białe z czarną ramką, hover niebieski */
.mnsk7-section--catalog.mnsk7-section--light,
.mnsk7-section.mnsk7-section--catalog {
  background: var(--color-white) !important;
}
.mnsk7-section--catalog .mnsk7-tags-chip {
  background: var(--color-white);
  border: 1px solid var(--color-black);
  color: var(--color-text);
}
.mnsk7-section--catalog .mnsk7-tags-chip:hover,
.mnsk7-section--catalog .mnsk7-tags-chip:focus-visible {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}
.mnsk7-section--catalog .mnsk7-cats__img-wrap {
  border: 1px solid var(--color-primary);
  box-sizing: border-box;
}
.mnsk7-section--catalog .mnsk7-cats__item:hover .mnsk7-cats__img-wrap {
  border-color: var(--color-primary);
  background: rgba(12, 125, 219, 0.06);
}

.mnsk7-section__title {
  text-align: center;
  font-size: var(--fs-2xl);
  font-weight: 800;
  color: #0f2648;
  margin: 0 0 0.65rem;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.mnsk7-section__title--catalog-hero {
  margin-bottom: 0.75rem;
  line-height: 1.12;
}

.mnsk7-section__title--catalog-hero .mnsk7-section__catalog-hero-inner {
  display: block;
  margin-inline: auto;
  max-width: min(18em, 100%);
}

.mnsk7-section__title--catalog-hero .mnsk7-section__catalog-hero-line {
  display: block;
  text-wrap: balance;
}

.mnsk7-section__title--catalog-hero .mnsk7-section__catalog-hero-line--accent {
  margin-top: 0.08em;
  color: var(--color-primary, #0c7ddb);
}

@media (max-width: 639px) {
  .mnsk7-section__title--catalog-hero {
    font-size: clamp(1.3rem, 5.5vw, 1.85rem);
  }

  .mnsk7-section__sub--catalog {
    font-size: 0.94rem;
    line-height: 1.55;
    max-width: 36rem;
    padding-inline: 0.15rem;
  }
}

.mnsk7-section__eyebrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.9rem;
  padding: 0.42rem 0.78rem;
  border-radius: var(--r-pill);
  background: rgba(12, 125, 219, 0.08);
  border: 1px solid rgba(12, 125, 219, 0.16);
  color: #0f4a98;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  width: fit-content;
}

.mnsk7-section__sub {
  text-align: center;
  font-size: var(--fs-base);
  color: #4b5f7c;
  margin: 0 auto 2rem;
  max-width: 44rem;
  line-height: 1.6;
}

.mnsk7-section__more {
  text-align: center;
  margin-top: 1.5rem;
}

.mnsk7-section__more a {
  font-weight: 600;
  font-size: var(--fs-sm);
  color: var(--color-primary);
}

.mnsk7-section__more a:hover {
  color: var(--color-primary-hover);
}

.mnsk7-section--catalog .col-full,
.mnsk7-section--trust .col-full,
.mnsk7-section--loyalty .col-full,
.mnsk7-section--insta .col-full {
  position: relative;
  z-index: 1;
  padding: clamp(1.4rem, 3vw, 2.2rem);
}

.mnsk7-section--catalog .col-full::before,
.mnsk7-section--trust .col-full::before,
.mnsk7-section--loyalty .col-full::before,
.mnsk7-section--insta .col-full::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: var(--ui-section-radius);
  background: var(--ui-surface-panel);
  border: var(--ui-panel-border);
  box-shadow: var(--ui-panel-shadow);
  pointer-events: none;
}

.mnsk7-section--catalog .col-full > *,
.mnsk7-section--trust .col-full > *,
.mnsk7-section--loyalty .col-full > *,
.mnsk7-section--insta .col-full > * {
  position: relative;
  z-index: 1;
}

/* Przeglądaj asortyment: Zastosowanie i materiały — chmura chipów (bez Więcej), potem Rodzaje frezów — karty. Jednakowe odstępy pionowe. */
.mnsk7-catalog-aside {
  margin-bottom: 1.25rem;
}
.mnsk7-catalog-aside__title {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
  margin: 0 0 1.25rem;
}
.mnsk7-catalog-aside__title--cats {
  margin-top: 0;
  margin-bottom: 1.25rem;
}
.mnsk7-catalog-chips__scroll--categories {
  justify-content: center;
}
.mnsk7-tags-chip--category {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.2rem;
  padding: 0.5rem 0.95rem;
  max-width: min(100%, 22rem);
  text-align: left;
  line-height: 1.35;
  border-width: 1px;
}
.mnsk7-tags-chip--category .mnsk7-tags-chip__label {
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--color-text);
}
.mnsk7-tags-chip--category .mnsk7-tags-chip__meta {
  font-size: 0.72rem;
  font-weight: 600;
  color: var(--color-text-muted);
  letter-spacing: 0.02em;
}
.mnsk7-catalog-chips__scroll--cloud {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  justify-content: center;
  width: 100%;
  min-width: 0;
}

/* Katalog: grupy chipów — każda grupa = etykieta + pozioma swipe-row (mobile). */
.mnsk7-catalog-chips {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.mnsk7-catalog-chips-group {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  width: 100%;
  min-width: 0;
}

.mnsk7-catalog-chips__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
  flex: 0 0 auto;
  padding-bottom: 0.15rem;
}

.mnsk7-catalog-chips__scroll {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  width: 100%;
  min-width: 0;
}

@media (max-width: 768px) {
  .mnsk7-section--catalog .col-full {
    overflow-x: hidden;
  }
  /* Chmura tagów (Zastosowanie) — zawsze wrap, bez swipe. */
  .mnsk7-catalog-chips__scroll--cloud {
    flex-wrap: wrap;
    overflow: visible;
  }
  /* Mobile: swipe row pattern — ukryty scrollbar, snap, fade hint (tylko gdy nie --cloud). */
  .mnsk7-catalog-chips__scroll:not(.mnsk7-catalog-chips__scroll--cloud) {
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding: 0.15rem 0;
    padding-inline: max(0.75rem, env(safe-area-inset-left)) 1rem;
    margin-inline: -0.5rem 0;
    gap: 0.5rem;
    scroll-snap-type: x proximity;
    scroll-padding-inline: max(0.75rem, env(safe-area-inset-left)) 1rem;
    mask-image: linear-gradient(to right, black calc(100% - 2rem), transparent 100%);
    -webkit-mask-image: linear-gradient(to right, black calc(100% - 2rem), transparent 100%);
  }
  .mnsk7-catalog-chips__scroll:not(.mnsk7-catalog-chips__scroll--cloud)::-webkit-scrollbar {
    display: none;
    height: 0;
  }
  .mnsk7-catalog-chips__scroll:not(.mnsk7-catalog-chips__scroll--cloud) .mnsk7-tags-chip,
  .mnsk7-catalog-chips__scroll:not(.mnsk7-catalog-chips__scroll--cloud) .mnsk7-catalog-cat-chip {
    flex-shrink: 0;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
  }
}

.mnsk7-catalog-chips-more[hidden] {
  display: none !important;
}

.mnsk7-catalog-chips-more:not([hidden]) {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
}

@media (max-width: 768px) {
  .mnsk7-catalog-chips-more:not([hidden]) {
    flex-wrap: nowrap;
    display: inline-flex;
  }
}

.mnsk7-catalog-chips-toggle {
  flex-shrink: 0;
  min-height: 44px;
  padding: 0.4rem 1rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: var(--font-base);
  color: var(--color-primary);
  background: transparent;
  border: 2px solid var(--color-primary);
  border-radius: var(--r-md);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  box-sizing: border-box;
}

.mnsk7-catalog-chips-toggle:hover {
  background: var(--color-primary);
  color: var(--color-white);
}

.mnsk7-catalog-chips-toggle:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.mnsk7-section--catalog .mnsk7-cats--catalog {
  margin-bottom: 2rem;
}

.mnsk7-cats-intro {
  margin-bottom: 1.25rem;
}

.mnsk7-cats-quick {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1rem;
  margin-bottom: 1.5rem;
  justify-content: center;
}


.mnsk7-cats-quick__chip {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: var(--ui-chip-bg);
  border: var(--ui-chip-border);
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ui-chip-color);
  text-decoration: none;
  box-shadow: var(--ui-chip-shadow);
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.mnsk7-cats-quick__chip:hover {
  background: var(--ui-chip-hover-bg);
  border-color: var(--ui-chip-hover-border);
  color: var(--ui-chip-hover-color);
  box-shadow: var(--ui-card-shadow);
  transform: translateY(-1px);
  text-decoration: none;
}
.mnsk7-cats-quick__chip:focus,
.mnsk7-cats-quick__chip:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Tagi / przeglądaj według cech — intro + label + chipy */
.mnsk7-section__sub.mnsk7-tags-intro {
  margin-bottom: 1.25rem;
}

.mnsk7-tags-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: 1rem;
  justify-content: center;
}


.mnsk7-tags-chip {
  display: inline-block;
  padding: 0.45rem 0.9rem;
  background: var(--ui-chip-bg);
  border: var(--ui-chip-border);
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--ui-chip-color);
  text-decoration: none;
  box-shadow: var(--ui-chip-shadow);
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.mnsk7-tags-chip:hover {
  background: var(--ui-chip-hover-bg);
  border-color: var(--ui-chip-hover-border);
  color: var(--ui-chip-hover-color);
  box-shadow: var(--ui-card-shadow);
  transform: translateY(-1px);
  text-decoration: none;
}

.mnsk7-tags-chip:focus,
.mnsk7-tags-chip:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Katalog kategorii (jak Sandvik) — karta: obrazek po lewej, nazwa + liczba, strzałka */
.mnsk7-cats--catalog {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-16);
  width: 100%;
  min-width: 0;
}

@media (min-width: 900px) {
  .mnsk7-cats--catalog {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Mobile: kategorie nie wychodzą poza ekran — jedna kolumna na wąskich, ograniczenie overflow */
@media (max-width: 480px) {
  .mnsk7-section--catalog .mnsk7-cats--catalog {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
}

.mnsk7-cats__item {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: var(--space-16);
  padding: var(--space-16) 1.25rem;
  min-width: 0;
  background: var(--ui-card-bg-strong);
  border: var(--ui-card-border);
  border-radius: var(--r-md);
  text-align: left;
  text-decoration: none;
  color: var(--color-text);
  box-shadow: var(--ui-card-shadow);
  transition: box-shadow 0.2s ease, border-color 0.2s ease, transform 0.2s ease, background 0.2s ease;
}

.mnsk7-cats__item:hover {
  box-shadow: var(--ui-card-shadow-hover);
  border-color: var(--color-primary);
  text-decoration: none;
  color: var(--color-text);
  transform: translateY(-2px);
}

.mnsk7-cats__img-wrap {
  flex-shrink: 0;
  width: 72px;
  height: 72px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-surface);
  border-radius: var(--r-sm);
  overflow: hidden;
}

.mnsk7-cats__img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.mnsk7-cats__body {
  flex: 1;
  min-width: 0;
}

.mnsk7-cats__name {
  display: block;
  font-size: var(--fs-base);
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-text);
}

.mnsk7-cats__count {
  display: block;
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  margin-top: 0.2rem;
}

.mnsk7-cats__arrow {
  flex-shrink: 0;
  font-size: var(--fs-xl);
  font-weight: 700;
  color: var(--color-text-muted);
  transition: color 0.2s ease, transform 0.2s ease;
}

.mnsk7-cats__item:hover .mnsk7-cats__arrow {
  color: var(--color-primary);
  transform: translateX(4px);
}

.mnsk7-cats__icon {
  font-size: var(--fs-xl);
  line-height: 1;
  color: var(--color-text-muted);
}

@keyframes mnsk7-fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mnsk7-loyalty-tier-in {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.96);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes mnsk7-loyalty-kicker-in {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes mnsk7-loyalty-accent-glow {
  from {
    box-shadow: 0 14px 28px rgba(12, 125, 219, 0.12);
    border-color: rgba(12, 125, 219, 0.22);
  }
  to {
    box-shadow:
      0 22px 44px rgba(12, 125, 219, 0.2),
      0 0 0 1px rgba(12, 125, 219, 0.12);
    border-color: rgba(12, 125, 219, 0.35);
  }
}

/* Trust stats counters */
.mnsk7-trust-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-bottom: var(--space-32);
}

.mnsk7-trust-stats__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  gap: 0.35rem;
  min-width: 0;
  padding: 1.1rem 1.15rem;
  border-radius: var(--ui-card-radius);
  background: var(--ui-card-bg-strong);
  border: var(--ui-card-border);
  box-shadow: var(--ui-card-shadow);
  animation: mnsk7-fade-in 0.5s ease both;
}

.mnsk7-trust-stats__item:nth-child(1) { animation-delay: 0.05s; }
.mnsk7-trust-stats__item:nth-child(2) { animation-delay: 0.15s; }
.mnsk7-trust-stats__item:nth-child(3) { animation-delay: 0.25s; }
.mnsk7-trust-stats__item:nth-child(4) { animation-delay: 0.35s; }

.mnsk7-trust-stats__number {
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 800;
  color: #0f4a98;
  line-height: 1.1;
}

.mnsk7-trust-stats__label {
  font-size: var(--fs-base);
  color: #4b5f7c;
  font-weight: 600;
}

.mnsk7-trust-stats__sub {
  text-align: center;
  font-size: var(--fs-base);
  color: #4b5f7c;
  margin: 0 0 1rem;
}

.mnsk7-trust-stats__allegro {
  text-align: center;
  margin-top: 0;
  margin-bottom: 2rem;
}

.mnsk7-trust-stats__allegro a {
  font-weight: 600;
  font-size: var(--fs-sm);
}

.mnsk7-trust-cta {
  text-align: center;
  margin-top: 1.5rem;
}

/* Wspólny styl CTA (trust, loyalty) — jeden system przycisków */
.mnsk7-btn,
.mnsk7-trust-cta__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  background: var(--color-primary);
  color: var(--color-white);
  border-radius: var(--r-md);
  font-size: var(--fs-base);
  font-weight: 600;
  font-family: var(--font-base);
  text-decoration: none;
  transition: background 0.15s ease;
  min-height: 44px;
}

.mnsk7-btn:hover,
.mnsk7-trust-cta__btn:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
  text-decoration: none;
}

.mnsk7-btn--primary {
  background: var(--color-primary);
  color: var(--color-white);
}

.mnsk7-btn--primary:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
}

/* Loyalty: CTA dla gości */
.mnsk7-loyalty-cta {
  text-align: center;
  margin-top: 1.5rem;
}

.mnsk7-loyalty-cta__guest {
  margin: 0 0 0.75rem;
  color: var(--color-text-secondary);
  font-size: var(--fs-base);
  max-width: 420px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

.mnsk7-loyalty-cta .mnsk7-btn {
  margin-top: 0.25rem;
}

/* Jedna CTA Allegro: ukryj linki z shortcode [mnsk7_allegro_reviews], zostaw tylko .mnsk7-trust-cta__btn */
.mnsk7-section--trust .mnsk7-trust-stats__allegro a,
.mnsk7-section--trust p.mnsk7-trust-stats__allegro + * a {
  display: none;
}
.mnsk7-section--trust .mnsk7-trust-cta .mnsk7-trust-cta__btn {
  display: inline-flex;
}


/* Jedna CTA Allegro — ukryj duplikaty z shortcode */
.mnsk7-section--trust a[href*="allegro"] { display: none !important; }
.mnsk7-section--trust .mnsk7-trust-cta a.mnsk7-trust-cta__btn { display: inline-flex !important; }

/* Loyalty — sekcja i progi: wyśrodkowanie na wszystkich szerokościach + wejście / akcent */
.mnsk7-section--loyalty .mnsk7-section__eyebrow,
.mnsk7-section--loyalty .mnsk7-section__title,
.mnsk7-section--loyalty .mnsk7-section__sub {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}

.mnsk7-loyalty-tiers-kicker {
  margin: 0 auto 1rem;
  max-width: min(36rem, 100%);
  padding: 0.5rem 1.1rem;
  text-align: center;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--color-primary-dark, #0a5a9e);
  border-radius: 999px;
  background: linear-gradient(
    135deg,
    rgba(12, 125, 219, 0.1) 0%,
    rgba(216, 154, 87, 0.14) 100%
  );
  box-shadow:
    inset 0 0 0 1px rgba(12, 125, 219, 0.12),
    0 10px 26px rgba(15, 38, 72, 0.06);
  animation: mnsk7-loyalty-kicker-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.mnsk7-loyalty-tiers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  width: 100%;
  max-width: 56rem;
  margin-inline: auto;
  padding: 1.1rem;
  box-sizing: border-box;
  border-radius: calc(var(--ui-card-radius, 12px) + 6px);
  background: linear-gradient(
    155deg,
    rgba(12, 125, 219, 0.05) 0%,
    rgba(255, 255, 255, 0.55) 42%,
    rgba(216, 154, 87, 0.08) 100%
  );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.82),
    0 14px 38px rgba(15, 38, 72, 0.065);
}

.mnsk7-loyalty-tier {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: var(--ui-card-bg-strong);
  border: var(--ui-card-border);
  border-radius: var(--ui-card-radius);
  padding: 1.25rem 1.05rem;
  min-width: 0;
  text-align: center;
  transition: box-shadow 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
  animation: mnsk7-loyalty-tier-in 0.55s cubic-bezier(0.22, 1, 0.36, 1) both;
  box-shadow: var(--ui-card-shadow);
}

.mnsk7-loyalty-tier:nth-child(1) { animation-delay: 0.08s; }
.mnsk7-loyalty-tier:nth-child(2) { animation-delay: 0.16s; }
.mnsk7-loyalty-tier:nth-child(3) { animation-delay: 0.24s; }

/* Najwyższy próg — wyróżnienie + delikatny puls (szacunek dla prefers-reduced-motion poniżej) */
.mnsk7-loyalty-tier:last-child {
  background: linear-gradient(135deg, #eff6ff 0%, #dbeafe 100%);
  border: var(--ui-card-border-strong);
  box-shadow: 0 14px 28px rgba(12, 125, 219, 0.12);
  animation-name: mnsk7-loyalty-tier-in, mnsk7-loyalty-accent-glow;
  animation-duration: 0.55s, 3s;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1), ease-in-out;
  animation-delay: 0.24s, 0.7s;
  animation-iteration-count: 1, infinite;
  animation-direction: normal, alternate;
  animation-fill-mode: both, none;
}

.mnsk7-loyalty-tier:last-child .mnsk7-loyalty-tier__pct {
  font-size: 2.5rem;
  color: var(--color-primary-dark);
}

.mnsk7-loyalty-tier:hover {
  box-shadow: var(--ui-card-shadow-hover);
  border-color: var(--color-primary);
  transform: translateY(-3px);
}

.mnsk7-loyalty-tier__pct {
  font-size: var(--fs-3xl);
  font-weight: 800;
  color: var(--color-primary);
  line-height: 1.1;
  margin-bottom: 0.35rem;
}

.mnsk7-loyalty-tier__from {
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  font-weight: 600;
  line-height: 1.38;
  text-wrap: balance;
}

@media (max-width: 1024px) {
  .mnsk7-loyalty-tiers {
    grid-template-columns: 1fr;
    max-width: min(26.5rem, 100%);
    padding: clamp(0.75rem, 3vw, 1rem);
  }

  .mnsk7-loyalty-tier {
    padding: clamp(1rem, 4vw, 1.35rem) clamp(0.75rem, 4vw, 1.05rem);
  }

  .mnsk7-loyalty-tier__pct {
    font-size: clamp(1.65rem, 6.5vw, var(--fs-3xl));
  }

  .mnsk7-loyalty-tier:last-child .mnsk7-loyalty-tier__pct {
    font-size: clamp(1.9rem, 7vw, 2.45rem);
  }

  .mnsk7-loyalty-tier__from {
    font-size: clamp(0.8rem, 3vw, var(--fs-sm));
  }

  .mnsk7-loyalty-tiers-kicker {
    font-size: clamp(0.71rem, 2.8vw, 0.8125rem);
    padding-inline: clamp(0.65rem, 4vw, 1rem);
    letter-spacing: 0.058em;
  }
}

/* Wąska plansza desktop: trzy kolumny, ale bez „ściśniętych” etykiet */
@media (min-width: 1025px) and (max-width: 1240px) {
  .mnsk7-loyalty-tiers {
    gap: 0.72rem;
    padding: 0.95rem;
  }

  .mnsk7-loyalty-tier {
    padding: 1rem 0.65rem;
  }

  .mnsk7-loyalty-tier__from {
    font-size: clamp(0.74rem, 0.95vw, 0.8125rem);
    line-height: 1.36;
    hyphens: auto;
    overflow-wrap: break-word;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mnsk7-loyalty-tiers-kicker,
  .mnsk7-loyalty-tier {
    animation: none !important;
  }

  .mnsk7-loyalty-tier:last-child {
    animation: none !important;
    box-shadow: 0 14px 28px rgba(12, 125, 219, 0.12);
  }
}

/* Allegro reviews — wyrównane karty, wycentrowana treść */
.mnsk7-allegro-reviews__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25rem;
  margin-top: 1.5rem;
  align-items: stretch;
}

@media (max-width: 900px) {
  .mnsk7-allegro-reviews__list {
    grid-template-columns: 1fr;
  }
}

.mnsk7-allegro-reviews__item {
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  padding: 1.25rem;
  font-size: var(--fs-base);
  color: var(--color-text-secondary);
  line-height: 1.6;
  position: relative;
  animation: mnsk7-fade-in 0.4s ease both;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.mnsk7-allegro-reviews__item:nth-child(1) { animation-delay: 0.05s; }
.mnsk7-allegro-reviews__item:nth-child(2) { animation-delay: 0.12s; }
.mnsk7-allegro-reviews__item:nth-child(3) { animation-delay: 0.19s; }

.mnsk7-allegro-reviews__item::before {
  content: "★★★★★";
  color: var(--color-warning);
  font-size: var(--fs-base);
  letter-spacing: 0.1em;
  margin-bottom: 0.5rem;
  order: -1;
}

/* Treść shortcode — wyśrodkuj jeśli ma własne divy */
.mnsk7-allegro-reviews__item > * {
  text-align: center;
  width: 100%;
}

/* Instagram CTA */
.mnsk7-insta-cta__link {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.625rem 1.5rem;
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  color: var(--color-white);
  border-radius: var(--r-pill);
  font-size: var(--fs-sm);
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.15s ease;
}

.mnsk7-insta-cta__link:hover {
  opacity: 0.9;
  text-decoration: none;
  color: var(--color-white);
  transform: translateY(-1px);
}

/* Instagram section — wysokość = treść (tytuł + posty + profil), bez białej wstęgi pod postami */
.mnsk7-section--insta {
  background: var(--color-surface);
  padding: var(--space-32) 0 0;
  min-height: 0;
}
.mnsk7-section--insta .mnsk7-instagram-feed--profile {
  min-height: 0;
}
.mnsk7-section--insta .mnsk7-instagram-feed--embed,
.mnsk7-section--insta .mnsk7-instagram-feed--native,
.mnsk7-section--insta .mnsk7-instagram-feed--posts {
  padding-bottom: 0;
  margin-bottom: 0;
  flex-direction: column;
  align-items: center;
  min-height: 0;
}
/* Nadpisanie ogólnego margin-bottom: 1rem — żadnej białej wstęgi pod siatką 6 postów */
.mnsk7-section--insta .mnsk7-instagram-feed--embed .mnsk7-instagram-feed__posts,
.mnsk7-section--insta .mnsk7-instagram-feed--native .mnsk7-instagram-feed__posts,
.mnsk7-section--insta .mnsk7-instagram-feed--posts .mnsk7-instagram-feed__posts {
  margin-bottom: 0 !important;
  padding-bottom: 0;
  align-items: start; /* wiersze siatki nie rozciągają się do najwyższego iframe */
}
.mnsk7-section--insta .mnsk7-instagram-feed__profile {
  margin-bottom: 0;
  padding-bottom: 0;
  margin-top: 0.5rem;
}
.mnsk7-section--insta .mnsk7-instagram-feed__more {
  margin-bottom: 0;
}
.mnsk7-section--insta .col-full {
  min-height: 0;
  text-align: center;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1.5rem 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
}

.mnsk7-section--insta .mnsk7-section__title {
  width: 100%;
  margin-bottom: 0.5rem;
}

.mnsk7-section--insta .col-full > * {
  margin-left: auto;
  margin-right: auto;
}

/* Instagram post grid */
.mnsk7-section--insta .mnsk7-instagram-feed--embed,
.mnsk7-section--insta .mnsk7-instagram-feed--native,
.mnsk7-section--insta .mnsk7-instagram-feed--posts {
  display: flex !important;
}
.mnsk7-section--insta .mnsk7-instagram-feed__posts {
  display: grid !important;
}
.mnsk7-instagram-feed--embed,
.mnsk7-instagram-feed--native,
.mnsk7-instagram-feed--posts {
  max-width: 1200px;
  width: 100%;
}

/* Profile embed variant */
.mnsk7-instagram-feed--profile {
  max-width: 1200px;
  width: 100%;
}
.mnsk7-instagram-profile-embed {
  width: 100%;
  border-radius: var(--r-md);
  overflow: hidden;
  background: #fafafa;
}
.mnsk7-instagram-profile-embed iframe {
  display: block;
  width: 100%;
  min-height: 900px;
  height: 95vh;
  border: 0;
}

@media (max-width: 768px) {
  .mnsk7-section--insta {
    padding: var(--space-24) 0 0;
  }
  .mnsk7-section--insta .col-full {
    padding: 0 var(--space-16) 0;
  }
  .mnsk7-instagram-profile-embed {
    border-radius: var(--r-sm);
    margin: 0;
  }
  .mnsk7-instagram-profile-embed iframe {
    min-height: 70vh;
    height: 85vh;
  }
}

/* Generic post grid (inne strony niż homepage) */
.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__posts,
.mnsk7-instagram-feed--native .mnsk7-instagram-feed__posts,
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__posts {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  width: 100%;
  margin-bottom: 0;
}

@media (min-width: 600px) {
  .mnsk7-instagram-feed--embed .mnsk7-instagram-feed__posts,
  .mnsk7-instagram-feed--native .mnsk7-instagram-feed__posts,
  .mnsk7-instagram-feed--posts .mnsk7-instagram-feed__posts {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1200px) {
  .mnsk7-instagram-feed--embed .mnsk7-instagram-feed__posts,
  .mnsk7-instagram-feed--native .mnsk7-instagram-feed__posts,
  .mnsk7-instagram-feed--posts .mnsk7-instagram-feed__posts {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-32);
  }
}

/* Kwadrat tylko dla osadzeń iframe — miniatury og:image mają własny układ (bez przycinania grafik). */
.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__post:not(.mnsk7-instagram-feed__post--thumb),
.mnsk7-instagram-feed--native .mnsk7-instagram-feed__post:not(.mnsk7-instagram-feed__post--thumb),
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__post:not(.mnsk7-instagram-feed__post--thumb) {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: var(--r-md);
  background: #f6f8fb;
}

.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__post--thumb,
.mnsk7-instagram-feed--native .mnsk7-instagram-feed__post--thumb,
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__post--thumb {
  min-width: 0;
  display: block;
  position: relative;
  aspect-ratio: auto;
  overflow: hidden;
  border-radius: var(--r-md);
  background: #f6f8fb;
}

.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__post--thumb .mnsk7-instagram-feed__post-link--stacked {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  min-height: 0;
  line-height: normal;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  background: #0b1220;
  border-radius: inherit;
}

.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__post-thumbwrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 0.5rem 0.4rem;
  background: #0b1220;
  flex: 0 1 auto;
  min-height: 140px;
}

.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__post--thumb .mnsk7-instagram-feed__post-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(55vh, 420px);
  margin: 0 auto;
  object-fit: contain;
  object-position: center center;
  background: transparent;
}

.mnsk7-instagram-feed--render-embedjs .mnsk7-instagram-feed__post--blockquote {
  display: flex;
  justify-content: center;
  width: 100%;
  min-width: 0;
}

.mnsk7-instagram-feed--render-embedjs .mnsk7-instagram-feed__post--blockquote .instagram-media {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 100% !important;
}

.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__post--thumb .mnsk7-instagram-feed__post-cta {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  z-index: 2;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 42px;
  margin: 0;
  padding: 0.5rem 0.75rem;
  border-radius: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.98);
  color: #0f2648;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: none;
}

/* Direct iframe embeds */
.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__post iframe,
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__iframe {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 auto;
  display: block;
  height: 100% !important;
  min-height: 0 !important;
  border: 0 !important;
  flex: 1 1 auto;
}

@media (min-width: 600px) {
  .mnsk7-instagram-feed--embed .mnsk7-instagram-feed__post iframe {
    min-width: 0;
    max-width: 100%;
  }
}

.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__profile,
.mnsk7-instagram-feed--native .mnsk7-instagram-feed__profile,
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__profile {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 0.75rem;
  padding: 0.75rem 0;
  border-top: 1px solid var(--color-border, #eee);
  flex-wrap: wrap;
}

.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__profile-icon,
.mnsk7-instagram-feed--native .mnsk7-instagram-feed__profile-icon,
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__profile-icon {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23181a1b'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073z'/%3E%3C/svg%3E") center/100% no-repeat;
}

.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__profile-handle,
.mnsk7-instagram-feed--native .mnsk7-instagram-feed__profile-handle,
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__profile-handle {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text);
}

.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__profile-btn,
.mnsk7-instagram-feed--native .mnsk7-instagram-feed__profile-btn,
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__profile-btn {
  padding: 0.4rem 0.75rem;
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--color-primary);
  background: transparent;
  border: 1px solid var(--color-primary);
  border-radius: 6px; /* no --r- token for 6px */
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.mnsk7-instagram-feed--embed .mnsk7-instagram-feed__profile-btn:hover,
.mnsk7-instagram-feed--native .mnsk7-instagram-feed__profile-btn:hover,
.mnsk7-instagram-feed--posts .mnsk7-instagram-feed__profile-btn:hover {
  background: var(--color-primary);
  color: #fff;
}

.mnsk7-instagram-feed__title {
  margin: 0 0 0.5rem;
  font-size: var(--fs-base);
  font-weight: 600;
  color: var(--color-text);
}

.mnsk7-instagram-feed__grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(140px, 1fr)) !important;
  gap: var(--space-16) !important;
  justify-items: stretch;
  margin: 1.25rem auto;
  width: 100% !important;
  max-width: 480px !important;
}

/* Homepage Instagram: siatka + tryb embedjs (blockquote) albo thumbs/iframe — style per .mnsk7-instagram-feed--render-* */
.mnsk7-section--insta .mnsk7-instagram-feed--embed,
.mnsk7-section--insta .mnsk7-instagram-feed--native,
.mnsk7-section--insta .mnsk7-instagram-feed--posts {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.mnsk7-section--insta .mnsk7-instagram-feed__posts {
  display: grid !important;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  gap: clamp(0.75rem, 2vw, 1.25rem);
  align-items: start;
  justify-items: stretch;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
}

.mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-1 {
  grid-template-columns: 1fr;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post {
  width: 100%;
  max-width: none;
  min-width: 0;
  height: auto;
  align-self: start;
  aspect-ratio: auto;
  border-radius: var(--r-lg);
  overflow: hidden;
  background: linear-gradient(145deg, #f0f4fb 0%, #e8eef8 100%);
  border: 1px solid rgba(12, 125, 219, 0.14);
  box-shadow: 0 12px 32px rgba(15, 38, 72, 0.1);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post--embed {
  background: #fff;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post:hover {
  transform: translateY(-3px);
  box-shadow: 0 18px 40px rgba(15, 38, 72, 0.14);
}

/* Tylko nasz iframe /embed/ — nie ruszaj iframe wstrzykiwanych przez embed.js w blockquote. */
.mnsk7-section--insta .mnsk7-instagram-feed__iframe {
  display: block;
  width: 100% !important;
  height: 580px !important;
  min-height: 520px !important;
  max-width: 100% !important;
  margin: 0;
  border: 0;
  background: #fff;
}

/* Oficjalny embed jak alesyatakun.by: blockquote.instagram-media + embed.js */
.mnsk7-section--insta .mnsk7-instagram-feed--render-embedjs .mnsk7-instagram-feed__post--blockquote {
  background: transparent;
  border: none;
  box-shadow: none;
  padding: 0;
  overflow: visible;
}

.mnsk7-section--insta .mnsk7-instagram-feed--render-embedjs .mnsk7-instagram-feed__post--blockquote:hover {
  transform: none;
  box-shadow: none;
}

.mnsk7-section--insta .mnsk7-instagram-feed--render-embedjs .mnsk7-instagram-feed__post--blockquote .instagram-media {
  margin: 0 auto !important;
  max-width: 100% !important;
  width: 100% !important;
  min-width: 0 !important;
}

.mnsk7-section--insta .mnsk7-instagram-feed--render-embedjs .mnsk7-instagram-feed__post--blockquote iframe {
  border-radius: var(--r-md) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border: 0 !important;
}

/* Strona główna: większy limit wysokości miniatury (root layout jest w regułach .mnsk7-instagram-feed--posts .mnsk7-instagram-feed__post--thumb). */
.mnsk7-section--insta .mnsk7-instagram-feed__post-thumbwrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  padding: 0.65rem 0.5rem;
  background: #0b1220;
  flex: 0 1 auto;
  min-height: 160px;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post-link:not(.mnsk7-instagram-feed__post-link--stacked) {
  position: relative;
  display: block;
  width: 100%;
  height: auto;
  line-height: 0;
  color: inherit;
  text-decoration: none;
  overflow: hidden;
  background: #0b1220;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post-shade {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(to top, rgba(15, 38, 72, 0.5) 0%, transparent 50%);
  z-index: 1;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post--thumb .mnsk7-instagram-feed__post-image {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: min(62vh, 520px);
  margin: 0 auto;
  object-fit: contain;
  object-position: center center;
  background: transparent;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: min(85vh, 720px);
  object-fit: contain;
  object-position: center top;
  background: #0b1220;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post--thumb .mnsk7-instagram-feed__post-cta {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  z-index: 2;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  margin: 0;
  padding: 0.55rem 0.85rem;
  border-radius: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.98);
  color: #0f2648;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: none;
}

.mnsk7-section--insta .mnsk7-instagram-feed__post-cta {
  position: absolute;
  left: 0.65rem;
  right: 0.65rem;
  bottom: 0.65rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0.4rem 0.85rem;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.95);
  color: #0f2648;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: 0 6px 20px rgba(15, 38, 72, 0.15);
}

.mnsk7-section--insta .mnsk7-instagram-feed__profile {
  margin-top: 1rem;
  padding-top: 1rem;
}

@media (max-width: 1024px) {
  .mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .mnsk7-section--insta .mnsk7-instagram-feed__posts,
  .mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-4,
  .mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-3,
  .mnsk7-section--insta .mnsk7-instagram-feed__posts.mnsk7-instagram-feed__posts--cols-2 {
    grid-template-columns: 1fr;
  }

  .mnsk7-section--insta .mnsk7-instagram-feed__iframe {
    height: 520px !important;
    min-height: 480px !important;
  }

  .mnsk7-section--insta .mnsk7-instagram-feed__post-image {
    max-height: 70vh;
  }
}

@media (min-width: 600px) {
  .mnsk7-instagram-feed__grid {
    grid-template-columns: repeat(6, minmax(120px, 1fr)) !important;
    max-width: 840px !important;
  }
}

.mnsk7-instagram-feed__item {
  display: block;
  position: relative;
  width: 100%;
  min-width: 0;
  aspect-ratio: 1;
  min-height: 120px;
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  border-radius: var(--r-sm);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  overflow: hidden;
}

.mnsk7-instagram-feed__item:hover {
  transform: scale(1.05);
  box-shadow: var(--shadow-md);
}

/* Miniatura posta — zawsze kwadrat, równo przycięta */
.mnsk7-instagram-feed__item::before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.mnsk7-instagram-feed__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  border-radius: inherit;
  display: block;
}

.mnsk7-instagram-feed__icon {
  display: block;
  width: 100%;
  height: 100%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' opacity='0.9'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z'/%3E%3C/svg%3E") center/50% no-repeat;
}

/* Fallback link when oEmbed fails (mu-plugin shortcode) */
.mnsk7-instagram-feed__item .mnsk7-instagram-feed__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, #833ab4, #fd1d1d, #fcb045);
  color: #fff;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mnsk7-instagram-feed__item .mnsk7-instagram-feed__link:hover {
  transform: scale(1.05);
  box-shadow: var(--shadow-md);
  color: #fff;
}
.mnsk7-instagram-feed__item .mnsk7-instagram-feed__link .mnsk7-instagram-feed__icon {
  flex: 1;
  min-height: 0;
}
.mnsk7-instagram-feed__item .mnsk7-instagram-feed__link .mnsk7-instagram-feed__link-text {
  padding: 0.25rem 0.5rem;
  font-size: 0.85rem;
  font-weight: 600;
}

.mnsk7-instagram-feed__cta {
  margin-top: 1rem;
  text-align: center;
}

/* Bestsellers — w obrębie content-max (bez breakout); siatka kart: 12-related-products (3 col desktop). */
.mnsk7-front-page .mnsk7-section--bestsellers {
  box-sizing: border-box;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}
.mnsk7-section--bestsellers .col-full {
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.mnsk7-section--bestsellers .mnsk7-bestsellers,
.mnsk7-section--bestsellers .col-full > .woocommerce {
  margin: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100%;
  max-width: 100%;
}

/* Nie zostawiać przed ul.products żadnego elementu w jednej „komórce” — np. result count */
.mnsk7-section--bestsellers .woocommerce {
  display: block;
}
.mnsk7-section--bestsellers .woocommerce > *:first-child:not(ul.products) {
  display: none !important;
}

/* Pusty pierwszy li (clear/placeholder) — tylko w bestsellerach */
.mnsk7-section--bestsellers ul.products li.clear,
.mnsk7-section--bestsellers ul.products > li:first-child:empty {
  display: none !important;
}

/* Siatka i karta bestsellerów: 12-related-products.css (wspólny recommendation block). */

.mnsk7-section--bestsellers .mnsk7-bestsellers-title,
.mnsk7-section--bestsellers .woocommerce h2 {
  text-align: center;
  font-size: var(--fs-2xl);
  font-weight: 800;
  margin: 0 0 1.5rem;
}

.mnsk7-bestsellers-title {
  text-align: center;
  font-size: var(--fs-2xl);
  font-weight: 800;
  margin: 0 0 1.5rem;
}

@media (max-width: 980px) {
  .mnsk7-section__header--bestsellers {
    align-items: center;
    flex-direction: column;
    margin-bottom: 1.6rem;
  }

  .mnsk7-section--bestsellers .mnsk7-section__more {
    text-align: center;
    margin-top: 0;
    width: 100%;
    display: flex;
    justify-content: center;
  }

  .mnsk7-section--bestsellers .mnsk7-section__more a {
    width: auto;
    max-width: 100%;
  }
}

/* Homepage tone alignment: light industrial surfaces with visible grid texture and full-image bestsellers. */
.mnsk7-front-page .mnsk7-section__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 2rem;
  text-align: center;
}

.mnsk7-front-page .mnsk7-section__header-copy {
  max-width: 42rem;
  margin: 0 auto;
}

.mnsk7-front-page .mnsk7-hero {
  background:
    radial-gradient(circle at 12% 18%, rgba(216, 154, 87, 0.16), transparent 18%),
    radial-gradient(circle at 86% 14%, rgba(12, 125, 219, 0.12), transparent 22%),
    linear-gradient(180deg, rgba(255,255,255,0.54), transparent 28%),
    linear-gradient(to right, rgba(12, 125, 219, 0.045) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(18, 38, 63, 0.04) 1px, transparent 1px),
    linear-gradient(180deg, #fbf6ef 0%, #f5f8fc 56%, #eef4fb 100%);
  background-size: auto, auto, auto, 88px 88px, 88px 88px, auto;
  color: var(--color-text, #111827);
  border-bottom: 1px solid var(--color-border, #e5e7eb);
}

.mnsk7-front-page .mnsk7-hero::before {
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.32), transparent 42%, transparent 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.2), transparent 22%);
}

.mnsk7-front-page .mnsk7-hero__content {
  max-width: 42rem;
}

.mnsk7-front-page .mnsk7-hero__title {
  max-width: 11ch;
}

.mnsk7-front-page .mnsk7-hero__title-accent,
.mnsk7-front-page .mnsk7-hero__panel-kicker {
  color: var(--color-primary, #0c7ddb);
}

.mnsk7-front-page .mnsk7-hero__eyebrow {
  background: rgba(255, 255, 255, 0.82);
  border-color: rgba(12, 125, 219, 0.18);
  color: var(--color-primary, #0c7ddb);
}

.mnsk7-front-page .mnsk7-hero__title,
.mnsk7-front-page .mnsk7-hero__panel-title,
.mnsk7-front-page .mnsk7-hero__proof-label,
.mnsk7-front-page .mnsk7-hero__stat-value {
  color: var(--color-text, #111827);
}

.mnsk7-front-page .mnsk7-hero__lead,
.mnsk7-front-page .mnsk7-hero__stat-label,
.mnsk7-front-page .mnsk7-hero__proof-text {
  color: var(--color-text-muted, #4b5563);
}

.mnsk7-front-page .mnsk7-hero__stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
  margin-bottom: 1.35rem;
}

.mnsk7-front-page .mnsk7-hero__stat,
.mnsk7-front-page .mnsk7-hero__material-chip,
.mnsk7-front-page .mnsk7-hero__btn--secondary,
.mnsk7-front-page .mnsk7-hero__panel,
.mnsk7-front-page .mnsk7-hero__panel-chip {
  background: var(--ui-card-bg-strong);
  border-color: rgba(18, 38, 63, 0.08);
  box-shadow: var(--ui-card-shadow);
  color: var(--color-text, #111827);
}

.mnsk7-front-page .mnsk7-hero__panel {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.94), rgba(245,248,252,0.94)),
    linear-gradient(180deg, #ffffff, #f5f8fc);
  box-shadow: 0 24px 56px rgba(15, 38, 72, 0.1);
}

.mnsk7-front-page .mnsk7-hero__proof-row {
  border-top-color: rgba(18, 38, 63, 0.08);
}

.mnsk7-front-page .mnsk7-hero__material-chip:hover,
.mnsk7-front-page .mnsk7-hero__btn--secondary:hover,
.mnsk7-front-page .mnsk7-hero__btn--secondary:focus-visible {
  background: #fff;
  border-color: var(--color-primary, #0c7ddb);
  color: var(--color-text, #111827);
}

.mnsk7-front-page .mnsk7-section--bestsellers {
  margin-left: -1rem;
  margin-right: -1rem;
  width: calc(100% + 2rem);
  max-width: none;
  box-sizing: border-box;
  padding: clamp(3rem, 6vw, 4.5rem) 1rem;
  background:
    radial-gradient(circle at 14% 0%, rgba(216, 154, 87, 0.1), transparent 28%),
    linear-gradient(to right, rgba(12, 125, 219, 0.04) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(18, 38, 63, 0.035) 1px, transparent 1px),
    linear-gradient(180deg, #f9fbfe 0%, #f1f6fc 100%);
  background-size: auto, 88px 88px, 88px 88px, auto;
}

@media (min-width: 768px) {
  .mnsk7-front-page .mnsk7-section--bestsellers {
    margin-left: -2rem;
    margin-right: -2rem;
    width: calc(100% + 4rem);
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

.mnsk7-front-page .mnsk7-section--bestsellers .col-full {
  max-width: var(--content-max);
  margin: 0 auto;
}

.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__eyebrow {
  margin: 0 0 0.9rem;
  background: rgba(12, 125, 219, 0.08);
  border-color: rgba(12, 125, 219, 0.18);
  color: var(--color-primary, #0c7ddb);
}

.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__title,
.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__sub {
  text-align: center;
}

.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__title {
  color: var(--color-text, #111827);
  margin-bottom: 0.5rem;
}

.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__sub {
  color: var(--color-text-muted, #4b5563);
  margin: 0;
}

.mnsk7-section--catalog .col-full,
.mnsk7-section--trust .col-full,
.mnsk7-section--loyalty .col-full {
  text-align: center;
}

.mnsk7-section--trust .mnsk7-trust-stats__item {
  align-items: center;
  text-align: center;
}

.mnsk7-front-page .mnsk7-section__header--bestsellers {
  align-items: center;
}

@media (max-width: 980px) {
  .mnsk7-front-page .mnsk7-section__header--bestsellers .mnsk7-section__header-copy {
    width: 100%;
  }
}

.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__more {
  margin: 0;
  flex-shrink: 0;
  width: 100%;
  display: flex;
  justify-content: center;
}

.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__more a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.8rem 1.2rem;
  border-radius: 14px;
  border: 1px solid var(--color-border, #e5e7eb);
  color: var(--color-text, #111827);
  background: rgba(255, 255, 255, 0.92);
}

.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__more a:hover,
.mnsk7-front-page .mnsk7-section--bestsellers .mnsk7-section__more a:focus-visible {
  color: var(--color-primary, #0c7ddb);
  border-color: var(--color-primary, #0c7ddb);
  background: #fff;
}
/* Homepage migration hardening: stable glyphs and bestseller alignment. */
.mnsk7-allegro-reviews__item::before {
  content: "\2605\2605\2605\2605\2605";
}

.mnsk7-front-page #bestsellery .mnsk7-section__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 1rem 2rem;
}

.mnsk7-front-page #bestsellery .mnsk7-section__header-copy {
  min-width: 0;
}

.mnsk7-front-page #bestsellery .mnsk7-section__eyebrow,
.mnsk7-front-page #bestsellery .mnsk7-section__title {
  max-width: 100%;
  overflow-wrap: break-word;
}

.mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail,
.mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail__track,
.mnsk7-front-page #bestsellery .mnsk7-bestsellers,
.mnsk7-front-page #bestsellery .woocommerce {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 768px) {
  .mnsk7-front-page #bestsellery .mnsk7-section__header {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 0.75rem;
  }
}

/* === 09-footer.css === */
/* 09-footer — jeden styl z resztą strony: primary, zaokrąglenia, typografia */

/* Strefa wysyłki: powiadomienie przeniesione z treści nad footer (bez zsuwania strony) */
.mnsk7-shipping-zone-placeholder {
  display: none;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
  min-height: 0;
  font-size: var(--fs-xs);
  color: var(--color-text-secondary);
}
.mnsk7-shipping-zone-placeholder:empty {
  display: none;
}
.mnsk7-shipping-zone-placeholder.has-notice {
  display: block;
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0.25rem 1rem;
}
.mnsk7-shipping-zone-placeholder.has-notice .woocommerce-info,
.mnsk7-shipping-zone-placeholder.has-notice .woocommerce-message {
  margin: 0;
  padding: 0.4rem 0.75rem;
  font-size: var(--fs-xs);
  border-radius: var(--r-sm);
}

/* Ciemny, kontrastowy footer — tokeny dla spójności z cookie barem. !important nadpisuje Storefront. */
#colophon.mnsk7-footer,
.mnsk7-footer {
  background: var(--color-footer-bg) !important;
  width: 100%;
  box-sizing: border-box;
  margin: 0;
  font-family: var(--font-base);
}
/* Na stronie Moje konto i innych WooCommerce — ten sam footer co na głównej (nadpisuje ewent. styl parenta) */
body.woocommerce-account .mnsk7-footer,
body.woocommerce-account #colophon.mnsk7-footer,
body.page .mnsk7-footer,
body.page #colophon.mnsk7-footer {
  background: var(--color-footer-bg) !important;
}

/* Górny blok: obramowanie w kolorze strony */
.mnsk7-footer__top {
  padding: var(--space-32) 0 1.75rem;
  border-top: 3px solid var(--color-primary);
}

/* Audit 2026-03: 4 kolumny — Klient, Kategorie, Kontakt, Newsletter (bez osobnej kolumny Dostawa) */
.mnsk7-footer__inner {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1rem;
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr 1fr;
  gap: 1.5rem 2rem;
}
.mnsk7-footer__col {
  min-width: 0;
  overflow-wrap: break-word;
}
/* Audit task 5: pełny tekst „Darmowa dostawa od 300 zł. Tylko Polska.” — zawijanie zamiast obcięcia */
/* Na stronie głównej ukryj (hero ma już ten tekst w USP) */
.front-page .mnsk7-footer__dostawa-line {
  display: none;
}
.mnsk7-footer__dostawa-line {
  margin: 0.75rem 0 0;
  font-size: var(--fs-sm);
  font-weight: 600;
  word-wrap: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  min-width: 0;
}
.mnsk7-footer__dostawa-line a {
  color: var(--color-footer-link);
}
.mnsk7-footer__contact-page-link {
  margin: 0 0 0.5rem;
  font-size: var(--fs-sm);
}
.mnsk7-footer__contact-page-link a {
  color: var(--color-footer-link);
}

.mnsk7-footer__newsletter-privacy {
  margin: 0.5rem 0 0;
  font-size: var(--fs-xs);
  color: var(--color-footer-muted);
}
.mnsk7-footer__newsletter-privacy a {
  color: var(--color-footer-link);
  text-decoration: underline;
  text-underline-offset: 0.16em;
  text-decoration-thickness: 0.08em;
  font-weight: 600;
}

.mnsk7-footer__newsletter-desc {
  margin: 0 0 0.75rem;
  font-size: var(--fs-sm);
}
.mnsk7-footer__newsletter-form {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.mnsk7-footer__newsletter-input {
  flex: 1 1 180px;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  font-size: var(--fs-sm);
  font-family: var(--font-base);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  background: rgba(255,255,255,0.06);
  color: var(--color-footer-text);
}
.mnsk7-footer__newsletter-input:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 0;
  border-color: var(--color-primary);
}
.mnsk7-footer__newsletter-input::placeholder {
  color: var(--color-footer-muted);
}
.mnsk7-footer__newsletter-btn {
  padding: 0.5rem 1rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: var(--font-base);
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: var(--r-md);
  cursor: pointer;
  transition: background 0.15s ease;
  white-space: nowrap;
}
.mnsk7-footer__newsletter-btn:hover {
  background: var(--color-primary-hover);
}

/* UX: czytelność — font nie mniejszy od podstawowego (NN/G) */
.mnsk7-footer__col {
  font-size: var(--fs-base);
}

.mnsk7-footer__col p,
.mnsk7-footer__col li {
  margin: 0.35rem 0;
  line-height: 1.6;
}
/* Audit: adres i KRS/NIP/REGON — zawijanie na wąskich ekranach */
.mnsk7-footer__address {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

/* Desktop: trigger wygląda jak nagłówek sekcji (bez wyglądu przycisku).
   appearance/box-shadow — nadpisanie globalnych stylów button (Storefront/plugins). */
.mnsk7-footer__accordion-trigger {
  display: block;
  width: 100%;
  margin: 0 0 0.75rem;
  padding: 0;
  border: none;
  background: none;
  box-shadow: none;
  appearance: none;
  color: var(--color-footer-text);
  font-size: var(--fs-base);
  font-weight: 700;
  font-family: var(--font-base);
  text-align: left;
  cursor: default;
}
.mnsk7-footer__accordion-icon {
  display: none;
}
.mnsk7-footer__accordion-panel {
  display: block;
}

.mnsk7-footer__top,
.mnsk7-footer__top p,
.mnsk7-footer__top span,
.mnsk7-footer__top li,
.mnsk7-footer__col,
.mnsk7-footer__col p,
.mnsk7-footer__col li {
  color: var(--color-footer-text);
}

.mnsk7-footer__top a {
  color: var(--color-footer-link);
  text-decoration: none;
  transition: color 0.15s ease;
}

.mnsk7-footer__top a:hover {
  color: var(--color-white);
}

/* Wszystkie linki w stopce: hover w jasnym kolorze (WCAG AA na ciemnym tle) */
.mnsk7-footer a:hover {
  color: var(--color-white);
}

/* Lista kontaktów z ikonami */
.mnsk7-footer__contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
/* Dane firmy / adres siedziby (domyślnie z filtra mnsk7_footer_legal_address) */
.mnsk7-footer__address {
  margin: 0 0 0.75rem;
  line-height: 1.55;
  color: var(--color-footer-text);
}
.mnsk7-footer__legal-name {
  font-weight: 700;
  color: var(--color-footer-text);
}
.mnsk7-footer__legal-registry {
  font-size: var(--fs-sm);
  color: var(--color-footer-muted);
  margin-top: 0.25rem;
  display: block;
}

/* Godziny otwarcia — dwie kolumny, równo */
.mnsk7-footer__hours {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0 1.25rem;
  align-items: baseline;
  font-size: inherit;
}
.mnsk7-footer__hours-row {
  display: contents;
}
.mnsk7-footer__hours dt {
  margin: 0;
  font-weight: 500;
  color: var(--color-footer-text);
}
.mnsk7-footer__hours dd {
  margin: 0;
  color: var(--color-footer-text);
  text-align: left;
  white-space: nowrap;
}

.mnsk7-footer__contact-list li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.mnsk7-footer__contact-item--hours {
  align-items: flex-start;
}
.mnsk7-footer__contact-item--hours .mnsk7-footer__icon {
  margin-top: 0.15em;
}
.mnsk7-footer__icon {
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  opacity: 0.9;
}
.mnsk7-footer__icon--email {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") center/contain no-repeat;
}
.mnsk7-footer__icon--phone {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") center/contain no-repeat;
}
.mnsk7-footer__icon--clock {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") center/contain no-repeat;
}
.mnsk7-footer__icon--instagram {
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2360a5fa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='2' width='20' height='20' rx='5' ry='5'/%3E%3Cpath d='M16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z'/%3E%3Cline x1='17.5' y1='6.5' x2='17.51' y2='6.5'/%3E%3C/svg%3E") center/contain no-repeat;
}

.mnsk7-footer__links {
  list-style: none;
  padding: 0;
  margin: 0;
}

.mnsk7-footer__links li {
  margin-bottom: 0.4rem;
}

/* Dolny pasek: ciemny, spójny z footerem (nie beż) */
.mnsk7-footer__bottom {
  background: var(--color-footer-bottom);
  padding: 0.75rem 0;
  text-align: center;
  font-size: var(--fs-xs);
  border-top: 1px solid rgba(255,255,255,0.08);
}

.mnsk7-footer__bottom-inner {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem 1rem;
}

.mnsk7-footer__copy {
  color: var(--color-footer-muted);
}

.mnsk7-footer__cookie-link {
  color: var(--color-footer-muted);
  font-size: inherit;
  text-decoration: none;
}
.mnsk7-footer__cookie-link:hover {
  color: var(--color-footer-link);
}

/* -----------------------------------------------------------------
   Mobile footer accordion (≤768px) — jeden mechanizm, bez duplikatów
   ----------------------------------------------------------------- */
@media (max-width: 768px) {
  .mnsk7-footer__top {
    padding: 1rem 0 0.75rem;
  }
  .mnsk7-footer__inner {
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0 var(--space-16);
  }
  .mnsk7-footer__col {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }
  .mnsk7-footer__col:last-of-type {
    border-bottom: none;
  }

  /* Trigger: cały wiersz klikalny, bez native button look / focus overlay / tap highlight */
  .mnsk7-footer__accordion-trigger,
  .mnsk7-footer__accordion-trigger * {
    -webkit-tap-highlight-color: transparent;
  }
  .mnsk7-footer__accordion-trigger {
    margin: 0;
    padding: 0.95rem 2.5rem 0.95rem 0;
    min-height: 44px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    touch-action: manipulation;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    appearance: none;
    -webkit-appearance: none;
    color: var(--color-footer-text);
    font-size: var(--fs-base);
    font-weight: 700;
    font-family: var(--font-base);
    position: relative;
  }
  .mnsk7-footer__accordion-trigger:hover,
  .mnsk7-footer__accordion-trigger:active {
    background: transparent;
    box-shadow: none;
    color: var(--color-footer-text);
  }
  .mnsk7-footer__accordion-trigger:focus {
    outline: none;
    box-shadow: none;
  }
  .mnsk7-footer__accordion-trigger:focus-visible {
    outline: 2px solid var(--color-footer-link);
    outline-offset: 2px;
  }
  .mnsk7-footer__accordion-icon {
    display: block;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1.25rem;
    height: 1.25rem;
    font-size: var(--fs-lg);
    font-weight: 400;
    opacity: 0.85;
    line-height: 1;
    transition: transform 0.2s ease;
    pointer-events: none;
  }
  .mnsk7-footer__accordion-icon::before {
    content: "+";
  }
  .mnsk7-footer__col.is-open .mnsk7-footer__accordion-icon::before {
    content: "−";
  }
  @media (prefers-reduced-motion: reduce) {
    .mnsk7-footer__accordion-icon {
      transition: none;
    }
  }

  /* Panel: jeden source of truth — ukryty domyślnie, widoczny gdy .is-open na kolumnie.
   * > bezpośredni potomek: panel jest zawsze pierwszym (i jedynym) divem po triggerze w .mnsk7-footer__col.
   */
  .mnsk7-footer__accordion-panel {
    display: none !important;
    padding-bottom: 0.7rem;
  }
  .mnsk7-footer__col.is-open > .mnsk7-footer__accordion-panel {
    display: block !important;
  }
  .mnsk7-footer__col--newsletter.is-open > .mnsk7-footer__accordion-panel .mnsk7-footer__newsletter-form {
    display: flex;
  }

  .mnsk7-footer__accordion-panel > .mnsk7-footer__links,
  .mnsk7-footer__accordion-panel > .mnsk7-footer__contact-list {
    padding-bottom: 0;
  }
  .mnsk7-footer__accordion-panel p:first-child {
    margin-top: 0.35rem;
  }
  .mnsk7-footer__contact-list li {
    margin-bottom: 0.5rem;
  }
  .mnsk7-footer__links li {
    margin-bottom: 0.3rem;
  }
  .mnsk7-footer__newsletter-form {
    gap: 0.65rem;
  }
  .mnsk7-footer__newsletter-input,
  .mnsk7-footer__newsletter-btn {
    min-height: 44px;
  }

  .mnsk7-footer__bottom-inner {
    padding: 0 var(--space-16);
    gap: 0.5rem;
  }
  .mnsk7-footer__bottom {
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
  }
}

@media (max-width: 360px) {
  .mnsk7-footer__inner {
    padding: 0 var(--space-8);
  }
  .mnsk7-footer__bottom-inner {
    padding: 0 var(--space-8);
  }
}

/* === 10-cookie-bar.css === */
/* 10-cookie-bar — widoczny pasek, Ustawienia (GDPR), safe-area (iPhone). Bar poza #page (fixed względem viewport). */

:root {
  --mnsk7-cookie-bar-h: 0px;
}

.mnsk7-cookie-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 100vw;
  box-sizing: border-box;
  background: var(--color-dark-bg);
  color: var(--color-white);
  padding: 0.55rem 1rem;
  padding-bottom: max(0.55rem, env(safe-area-inset-bottom));
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.2);
  font-size: var(--fs-sm);
  line-height: 1.5;
  overflow: hidden;
}

.mnsk7-cookie-bar[hidden] {
  display: none !important;
}

.mnsk7-cookie-bar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  width: 100%;
  min-width: 0;
  max-width: var(--content-max, 1200px);
  margin: 0 auto;
  box-sizing: border-box;
}

.mnsk7-cookie-bar__text {
  flex: 1 1 260px;
  min-width: 0;
  margin: 0;
  font-size: var(--fs-xs);
  line-height: 1.4;
}

.mnsk7-cookie-bar__text a,
.mnsk7-cookie-bar__link {
  color: var(--color-footer-link);
  text-decoration: underline;
}

.mnsk7-cookie-bar__text a:hover,
.mnsk7-cookie-bar__link:hover {
  color: var(--color-footer-text);
}

.mnsk7-cookie-bar__buttons {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
  flex-shrink: 0;
  min-width: 0;
  position: relative;
  z-index: 1;
}

.mnsk7-cookie-bar__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.45rem 0.85rem;
  border-radius: var(--r-md);
  font-size: var(--fs-xs);
  font-weight: 600;
  font-family: var(--font-base);
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  min-height: 44px;
  min-width: 44px;
  box-sizing: border-box;
  text-decoration: none;
  border: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
  position: relative;
  z-index: 1;
  background: var(--color-primary);
  color: var(--color-white);
}
.mnsk7-cookie-bar__btn:focus {
  outline: none;
}
.mnsk7-cookie-bar__btn:focus-visible {
  outline: 2px solid var(--color-footer-link);
  outline-offset: 2px;
}
.mnsk7-cookie-bar__btn:hover {
  background: var(--color-primary-hover);
}

.mnsk7-cookie-bar__btn--secondary {
  background: transparent;
  color: var(--color-footer-text);
  border: 1px solid var(--color-dark-border);
}

.mnsk7-cookie-bar__btn--secondary:hover {
  background: rgba(255,255,255,0.08);
  color: var(--color-white);
}

@media (max-width: 768px) {
  .mnsk7-cookie-bar {
    padding: 0.45rem 0.7rem;
    padding-bottom: max(0.45rem, env(safe-area-inset-bottom));
    gap: 0.35rem 0.6rem;
    font-size: var(--fs-xs);
    line-height: 1.4;
  }

  .mnsk7-cookie-bar__inner {
    gap: 0.5rem 0.75rem;
  }

  .mnsk7-cookie-bar__text {
    flex-basis: 100%;
    font-size: inherit;
  }

  .mnsk7-cookie-bar__buttons {
    width: 100%;
    gap: 0.35rem;
  }

  .mnsk7-cookie-bar__btn {
    min-height: 44px;
    padding: 0.4rem 0.75rem;
    font-size: var(--fs-xs);
    flex: 1 1 auto;
  }
}

/* === 11-hidden.css === */
/* 11-hidden — extracted from main.css */

/* -----------------------------------------------------------------
   § HIDDEN ELEMENTS
   ----------------------------------------------------------------- */

.yith-wcwl-add-to-wishlist,
.yith-wcwl-add-button,
a.add_to_wishlist,
.tinv-wishlist,
[class*="wishlist"],
[class*="compare"],
[data-product_id].compare,
.shopengine-wishlist-trigger,
.shopengine-quickview-trigger,
[class*="shopengine-icon-product_compare"],
[class*="shopengine-badge"],
.wpc-btn,
.wooscp-btn,
.woosc-btn,
.product_meta {
  display: none !important;
}

/* PDP: linki poprzedni/następny produkt — ukryte (zgodnie z zadaniem) */
body.single-product .post-navigation,
body.single-product .storefront-product-pagination,
body.single-product .product-navigation,
body.single-product nav.previous-next,
body.single-product .woocommerce-product-navigation {
  display: none !important;
}

/* Watermark overlay on product images */
[class*="watermark"] {
  display: none !important;
}



/* === 12-related-products.css === */
/* 12-related-products — jedyny moduł dla recommendation blocks (PDP, koszyk, główna).
   Wszystkie sekcje: related, upsells, cross-sells, bestsellery — ta sama siatka, ta sama karta.
   Breakpoints: desktop ≥992: 3 kolumny; tablet 768–991: 2; mobile <768: 2; ≤400: 1.
   Dopasowanie liczby kart: :has(li:first-child:nth-last-child(n)) — np. 3 karty → 3 kolumny (bez 2+1), 4 → 2×2, 8 → related 4×2 / bestsellery 3×3.
   Docs: docs/RECOMMENDATION-BLOCKS-UNIFIED.md */

/* -----------------------------------------------------------------
   § SECTIONS: nagłówki i odstępy (wspólne)
   ----------------------------------------------------------------- */

.related.products,
.upsells.products,
.up-sells.products,
.cross-sells {
  margin-top: 3rem;
}

.related.products > h2,
.upsells.products > h2,
.up-sells.products > h2,
.cross-sells > h2 {
  font-size: var(--fs-xl);
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.related.products .related-products__subtitle,
.upsells.products .related-products__subtitle {
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  margin: 0 0 1.25rem;
}

/* Koszyk: cross-sells */
.woocommerce-cart .cross-sells {
  width: 100%;
  max-width: 100%;
}
.woocommerce-cart .cross-sells > h2 {
  margin-bottom: 1rem;
}

/* -----------------------------------------------------------------
   § GRID: jedna siatka dla wszystkich recommendation blocks
   ----------------------------------------------------------------- */

.related.products ul.products::before,
.upsells.products ul.products::before,
.up-sells.products ul.products::before,
.cross-sells ul.products::before,
.mnsk7-section--bestsellers ul.products::before {
  content: none !important;
  display: none !important;
}

/* Desktop ≥992px: 3 karty w rzędzie (węższe karty niż przy 2 kolumnach 768–1199) */
.related.products ul.products,
.upsells.products ul.products,
.up-sells.products ul.products,
.cross-sells ul.products,
.mnsk7-section--bestsellers ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1.5rem !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none;
  align-items: stretch !important;
  justify-content: start !important;
  justify-items: stretch !important;
  width: 100% !important;
  min-width: 0;
}

@media (max-width: 991px) {
  .related.products ul.products,
  .upsells.products ul.products,
  .up-sells.products ul.products,
  .cross-sells ul.products,
  .mnsk7-section--bestsellers ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 1.25rem !important;
  }
}

@media (max-width: 767px) {
  .related.products ul.products,
  .upsells.products ul.products,
  .up-sells.products ul.products,
  .cross-sells ul.products,
  .mnsk7-section--bestsellers ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.75rem !important;
  }
}

@media (max-width: 400px) {
  .related.products ul.products,
  .upsells.products ul.products,
  .up-sells.products ul.products,
  .cross-sells ul.products,
  .mnsk7-section--bestsellers ul.products {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }
}

/* -----------------------------------------------------------------
   § GRID: liczba produktów — bez „dziury” w ostatnim rzędzie (2+1 przy 2 kolumnach itd.)
   :has(> li.product:first-child:nth-last-child(n)) = dokładnie n kart w <ul>.
   ----------------------------------------------------------------- */

.related.products ul.products:has(> li.product:first-child:nth-last-child(1)),
.cross-sells ul.products:has(> li.product:first-child:nth-last-child(1)),
.mnsk7-section--bestsellers ul.products:has(> li.product:first-child:nth-last-child(1)) {
  grid-template-columns: 1fr !important;
}

.related.products ul.products:has(> li.product:first-child:nth-last-child(2)),
.upsells.products ul.products:has(> li.product:first-child:nth-last-child(2)),
.up-sells.products ul.products:has(> li.product:first-child:nth-last-child(2)),
.cross-sells ul.products:has(> li.product:first-child:nth-last-child(2)),
.mnsk7-section--bestsellers ul.products:has(> li.product:first-child:nth-last-child(2)) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* 3 karty: jeden pełny rząd (ważne przy tablecie 768–991, gdzie domyślnie było 2+1 z pustką) */
.related.products ul.products:has(> li.product:first-child:nth-last-child(3)),
.upsells.products ul.products:has(> li.product:first-child:nth-last-child(3)),
.up-sells.products ul.products:has(> li.product:first-child:nth-last-child(3)),
.cross-sells ul.products:has(> li.product:first-child:nth-last-child(3)),
.mnsk7-section--bestsellers ul.products:has(> li.product:first-child:nth-last-child(3)) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* 4 karty: 2×2 */
.related.products ul.products:has(> li.product:first-child:nth-last-child(4)),
.upsells.products ul.products:has(> li.product:first-child:nth-last-child(4)),
.up-sells.products ul.products:has(> li.product:first-child:nth-last-child(4)),
.cross-sells ul.products:has(> li.product:first-child:nth-last-child(4)),
.mnsk7-section--bestsellers ul.products:has(> li.product:first-child:nth-last-child(4)) {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

/* 6 kart na głównej bestsellery: stabilne 3×2 (bez wąskich 2-col na tablecie) */
.mnsk7-section--bestsellers ul.products:has(> li.product:first-child:nth-last-child(6)) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

/* 8 kart: related/upsells/cross — 4×2 na szerokim desktopie; bestsellery — 3×3 (mniejsze karty) */
@media (min-width: 1200px) {
  .related.products ul.products:has(> li.product:first-child:nth-last-child(8)),
  .upsells.products ul.products:has(> li.product:first-child:nth-last-child(8)),
  .up-sells.products ul.products:has(> li.product:first-child:nth-last-child(8)),
  .cross-sells ul.products:has(> li.product:first-child:nth-last-child(8)) {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
  .mnsk7-section--bestsellers ul.products:has(> li.product:first-child:nth-last-child(8)) {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 991px) {
  .related.products ul.products:has(> li.product:first-child:nth-last-child(8)),
  .upsells.products ul.products:has(> li.product:first-child:nth-last-child(8)),
  .up-sells.products ul.products:has(> li.product:first-child:nth-last-child(8)),
  .cross-sells ul.products:has(> li.product:first-child:nth-last-child(8)),
  .mnsk7-section--bestsellers ul.products:has(> li.product:first-child:nth-last-child(8)) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 400px) {
  .related.products ul.products:has(> li.product:first-child:nth-last-child(3)),
  .upsells.products ul.products:has(> li.product:first-child:nth-last-child(3)),
  .up-sells.products ul.products:has(> li.product:first-child:nth-last-child(3)),
  .cross-sells ul.products:has(> li.product:first-child:nth-last-child(3)),
  .mnsk7-section--bestsellers ul.products:has(> li.product:first-child:nth-last-child(3)) {
    grid-template-columns: 1fr !important;
  }
}

/* -----------------------------------------------------------------
   § CARD: wspólny komponent karty (obrazek, tytuł, cena, CTA)
   ----------------------------------------------------------------- */

.related.products ul.products li.product,
.upsells.products ul.products li.product,
.up-sells.products ul.products li.product,
.cross-sells ul.products li.product,
.mnsk7-section--bestsellers ul.products li.product {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  box-shadow: var(--shadow-sm);
  border-radius: var(--r-md);
  padding: 0;
  overflow: hidden;
  display: flex !important;
  flex-direction: column !important;
  transition: box-shadow 0.2s ease, transform 0.2s ease;
  align-self: stretch !important;
  min-height: 0;
}

/* Obrazek: stały aspect-ratio 1:1 */
.related.products ul.products li.product .woocommerce-loop-product__link:has(> img),
.related.products ul.products li.product a.woocommerce-loop-product__link:first-of-type,
.upsells.products ul.products li.product .woocommerce-loop-product__link:has(> img),
.upsells.products ul.products li.product a.woocommerce-loop-product__link:first-of-type,
.up-sells.products ul.products li.product .woocommerce-loop-product__link:has(> img),
.up-sells.products ul.products li.product a.woocommerce-loop-product__link:first-of-type,
.cross-sells ul.products li.product .woocommerce-loop-product__link:has(> img),
.cross-sells ul.products li.product a.woocommerce-loop-product__link:first-of-type,
.mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__link:has(> img),
.mnsk7-section--bestsellers ul.products li.product a.woocommerce-loop-product__link:first-of-type {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--color-surface);
}

.related.products ul.products li.product .woocommerce-loop-product__link img,
.related.products ul.products li.product img,
.upsells.products ul.products li.product .woocommerce-loop-product__link img,
.upsells.products ul.products li.product img,
.up-sells.products ul.products li.product .woocommerce-loop-product__link img,
.up-sells.products ul.products li.product img,
.cross-sells ul.products li.product .woocommerce-loop-product__link img,
.cross-sells ul.products li.product img,
.mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__link img,
.mnsk7-section--bestsellers ul.products li.product img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Tytuł: max 2 linie, line-clamp */
.related.products ul.products li.product .woocommerce-loop-product__title,
.related.products ul.products li.product h2,
.upsells.products ul.products li.product .woocommerce-loop-product__title,
.upsells.products ul.products li.product h2,
.cross-sells ul.products li.product .woocommerce-loop-product__title,
.cross-sells ul.products li.product h2,
.mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__title,
.mnsk7-section--bestsellers ul.products li.product h2 {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text);
  margin: 0;
  padding: 0.75rem 0.75rem 0.25rem;
  min-height: 2.8em;
  line-height: 1.4;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Cena: jedna linia, bez łamania po jednej cyfrze */
.related.products ul.products li.product .price,
.upsells.products ul.products li.product .price,
.up-sells.products ul.products li.product .price,
.cross-sells ul.products li.product .price,
.mnsk7-section--bestsellers ul.products li.product .price {
  display: block !important;
  visibility: visible;
  font-weight: 700;
  font-size: var(--fs-base);
  color: var(--color-primary-dark, #0a5a9e);
  margin: 0.25rem 0.75rem 0.5rem;
  padding: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.related.products .woocommerce-price-fallback,
.upsells.products .woocommerce-price-fallback,
.cross-sells .woocommerce-price-fallback,
.mnsk7-section--bestsellers .woocommerce-price-fallback {
  font-weight: 600;
  color: var(--color-text-secondary);
}
.mnsk7-section--bestsellers .woocommerce-price-suffix {
  font-weight: 600;
  color: var(--color-text-secondary);
}

/* CTA: zawsze poziomy tekst, min-width żeby nie łamać w pion */
.related.products ul.products li.product .button,
.related.products ul.products li.product .add_to_cart_button,
.related.products ul.products li.product a.added_to_cart,
.upsells.products ul.products li.product .button,
.upsells.products ul.products li.product .add_to_cart_button,
.upsells.products ul.products li.product a.added_to_cart,
.up-sells.products ul.products li.product .button,
.up-sells.products ul.products li.product .add_to_cart_button,
.cross-sells ul.products li.product .button,
.cross-sells ul.products li.product .add_to_cart_button,
.mnsk7-section--bestsellers ul.products li.product .button,
.mnsk7-section--bestsellers ul.products li.product .add_to_cart_button {
  writing-mode: horizontal-tb;
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: calc(100% - 1.5rem);
  min-width: 0;
  max-width: 100%;
  margin: auto 0.75rem 0.75rem;
  box-sizing: border-box;
  padding: 0.625rem 0.9rem;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-align: center;
  line-height: 1.3;
  font-size: var(--fs-sm);
  font-weight: 600;
  background: var(--color-primary-dark, var(--color-primary));
  color: var(--color-white);
  border: none;
  border-radius: var(--r-md);
}

.related.products ul.products li.product .button::after,
.related.products ul.products li.product .add_to_cart_button::after,
.upsells.products ul.products li.product .button::after,
.upsells.products ul.products li.product .add_to_cart_button::after,
.up-sells.products ul.products li.product .button::after,
.up-sells.products ul.products li.product .add_to_cart_button::after,
.cross-sells ul.products li.product .button::after,
.cross-sells ul.products li.product .add_to_cart_button::after,
.mnsk7-section--bestsellers ul.products li.product .button::after,
.mnsk7-section--bestsellers ul.products li.product .add_to_cart_button::after {
  display: none !important;
}

.related.products ul.products li.product .button:hover,
.related.products ul.products li.product .add_to_cart_button:hover,
.upsells.products ul.products li.product .button:hover,
.upsells.products ul.products li.product .add_to_cart_button:hover,
.cross-sells ul.products li.product .button:hover,
.cross-sells ul.products li.product .add_to_cart_button:hover,
.mnsk7-section--bestsellers ul.products li.product .button:hover,
.mnsk7-section--bestsellers ul.products li.product .add_to_cart_button:hover {
  background: var(--color-primary-hover, var(--color-primary));
}

.related.products ul.products li.product:first-child,
.upsells.products ul.products li.product:first-child,
.up-sells.products ul.products li.product:first-child,
.cross-sells ul.products li.product:first-child,
.mnsk7-section--bestsellers ul.products li.product:first-child {
  margin-top: 0 !important;
  align-self: stretch !important;
  grid-column: span 1 !important;
}

.related.products ul.products li.product:hover,
.upsells.products ul.products li.product:hover,
.up-sells.products ul.products li.product:hover,
.cross-sells ul.products li.product:hover,
.mnsk7-section--bestsellers ul.products li.product:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* Homepage bestseller overrides — dark surface without affecting PDP/cart blocks */
.mnsk7-front-page .mnsk7-section--bestsellers ul.products {
  gap: 0.65rem !important;
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product {
  background: rgba(255, 255, 255, 0.96);
  border-color: rgba(18, 38, 63, 0.08);
  box-shadow: 0 12px 28px rgba(15, 38, 72, 0.055);
  border-radius: 12px;
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product:hover {
  box-shadow: 0 16px 36px rgba(15, 38, 72, 0.09);
  border-color: rgba(12, 125, 219, 0.18);
  transform: translateY(-2px);
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__link:has(> img),
.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product a.woocommerce-loop-product__link:first-of-type {
  display: block !important;
  overflow: hidden;
  aspect-ratio: 1;
  max-height: none;
  background:
    radial-gradient(circle at top center, rgba(216, 154, 87, 0.08), transparent 44%),
    linear-gradient(180deg, #f9fbfe 0%, #eef4fb 100%);
  margin: 0;
  width: 100%;
  border-radius: 12px 12px 0 0;
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__link img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  padding: 0;
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .onsale {
  position: absolute;
  top: 0.9rem;
  right: 0.9rem;
  left: auto;
  min-height: auto;
  min-width: auto;
  margin: 0;
  padding: 0.28rem 0.55rem;
  border-radius: 999px;
  background: #d89a57;
  color: #120f0b;
  border: none;
  font-size: 0.72rem;
  font-weight: 700;
  line-height: 1.2;
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__title,
.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product h2 {
  color: var(--color-text, #111827);
  font-size: 0.8125rem;
  padding: 0.4rem 0.45rem 0.1rem;
  line-height: 1.28;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  overflow-wrap: anywhere;
  hyphens: auto;
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .price {
  color: var(--color-primary-dark, #0a5a9e);
  font-size: clamp(0.875rem, 1.05vw, 1.05rem);
  margin: 0.06rem 0.45rem 0.35rem;
}

.mnsk7-front-page .mnsk7-section--bestsellers .woocommerce-price-fallback,
.mnsk7-front-page .mnsk7-section--bestsellers .woocommerce-price-suffix {
  color: var(--color-text-secondary);
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .button,
.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .add_to_cart_button {
  width: fit-content;
  min-width: 0;
  max-width: calc(100% - 0.9rem);
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  align-self: center;
  margin: auto auto 0.45rem;
  padding: 0.42rem 0.6rem;
  font-size: 0.7rem;
  background: var(--color-primary);
  color: var(--color-white);
  border-radius: 8px;
  font-weight: 700;
  text-align: center;
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .button::after,
.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .add_to_cart_button::after {
  display: none !important;
}

.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .button:hover,
.mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .add_to_cart_button:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
}

@media (max-width: 768px) {
  .mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__link:has(> img),
  .mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product a.woocommerce-loop-product__link:first-of-type {
    margin: 0;
    max-height: none;
  }

  .mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__link img {
    padding: 0;
  }

  .mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .woocommerce-loop-product__title,
  .mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product h2 {
    font-size: 0.8125rem;
    padding: 0.45rem 0.4rem 0.1rem;
    -webkit-line-clamp: 3;
  }

  .mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .price {
    font-size: 0.9rem;
    margin: 0.08rem 0.4rem 0.45rem;
  }

  .mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .button,
  .mnsk7-front-page .mnsk7-section--bestsellers ul.products li.product .add_to_cart_button {
    margin: auto auto 0.5rem;
    padding: 0.45rem 0.65rem;
    font-size: 0.72rem;
  }
}

/* === 13-seo-landing.css === */
/* 13-seo-landing — extracted from main.css */

   § SEO LANDING PAGES
   ----------------------------------------------------------------- */

.mnsk7-seo-page {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1rem;
}

.mnsk7-seo-hero {
  padding: var(--space-48) 0 var(--space-32);
  text-align: center;
}

.mnsk7-seo-hero__title {
  font-size: var(--fs-2xl);
  font-weight: 800;
  margin: 0 0 0.5rem;
}

.mnsk7-seo-hero__sub {
  font-size: var(--fs-base);
  color: var(--color-text-secondary);
  margin: 0;
}

.mnsk7-seo-intro {
  padding: 1.5rem 0 2rem;
}

.mnsk7-seo-intro__text {
  font-size: var(--fs-base);
  line-height: 1.7;
  color: var(--color-text);
  max-width: 800px;
}

.mnsk7-seo-intro__text h2 {
  font-size: var(--fs-lg);
  margin: 1.5rem 0 0.75rem;
}

.mnsk7-seo-intro__text ul {
  padding-left: 1.25rem;
  margin: 0.75rem 0;
}

.mnsk7-seo-intro__text li {
  margin-bottom: 0.5rem;
}

.mnsk7-seo-products {
  padding: var(--space-32) 0;
}

.mnsk7-seo-products__title {
  font-size: var(--fs-xl);
  font-weight: 700;
  margin: 0 0 1.5rem;
}

.mnsk7-seo-faq {
  padding: var(--space-32) 0 var(--space-48);
}

/* Przewodnik — single post (SEO artykuły) */
.mnsk7-guide-single {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1rem 2rem;
}

.mnsk7-guide-single .col-full {
  max-width: 100%;
}

.mnsk7-guide-article__header {
  padding: 1.5rem 0 1rem;
}

.mnsk7-guide-article__title {
  font-size: var(--fs-2xl);
  font-weight: 800;
  margin: 0 0 0.5rem;
  line-height: 1.25;
}

.mnsk7-guide-article__meta {
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  margin: 0;
}

.mnsk7-guide-article__body {
  font-size: var(--fs-base);
  line-height: 1.7;
  color: var(--color-text);
  padding: var(--space-16) 0 var(--space-32);
}

.mnsk7-guide-article__body h2 {
  font-size: var(--fs-lg);
  margin: 1.5rem 0 0.75rem;
}

.mnsk7-guide-article__body h3 {
  font-size: var(--fs-base);
  font-weight: 700;
  margin: 1.25rem 0 0.5rem;
}

.mnsk7-guide-article__body ul,
.mnsk7-guide-article__body ol {
  padding-left: 1.25rem;
  margin: 0.75rem 0;
}

.mnsk7-guide-article__body li {
  margin-bottom: 0.5rem;
}

.mnsk7-guide-article__body a {
  color: var(--color-primary);
  text-decoration: none;
}

.mnsk7-guide-article__body a:hover {
  text-decoration: underline;
}

/* Blok linków do produktów/kategorii w artykule (shortcode [mnsk7_guide_products]) */
.mnsk7-guide-products {
  margin: var(--space-32) 0;
  padding: 1.5rem 0;
  border-top: 1px solid var(--color-border);
}

.mnsk7-guide-products__title {
  font-size: var(--fs-lg);
  font-weight: 700;
  margin: 0 0 0.75rem;
}

.mnsk7-guide-products__intro {
  margin: 0 0 1rem;
}

.mnsk7-guide-products__list {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.mnsk7-guide-products__list li {
  margin-bottom: 0.5rem;
}

.mnsk7-guide-products__list a {
  color: var(--color-primary);
  text-decoration: none;
}

.mnsk7-guide-products__list a:hover {
  text-decoration: underline;
}

.mnsk7-guide-faq {
  border-top: 1px solid var(--color-border);
}


/* === 14-faq.css === */
/* 14-faq — extracted from main.css */

   § FAQ ACCORDION
   ----------------------------------------------------------------- */

.mnsk7-faq {
  max-width: 800px;
  margin: 0 auto;
}

.mnsk7-faq__item {
  border-bottom: 1px solid var(--color-border);
}

.mnsk7-faq__item:first-child {
  border-top: 1px solid var(--color-border);
}

.mnsk7-faq__q {
  padding: var(--space-16);
  cursor: pointer;
  font-weight: 600;
  color: var(--color-text);
  font-size: var(--fs-base);
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 44px;
  background: none;
  border: none;
  width: 100%;
  text-align: left;
  font-family: var(--font-base);
  transition: background 0.15s ease;
}

.mnsk7-faq__q:hover {
  background: var(--color-surface);
}

.mnsk7-faq__q::after {
  content: "+";
  font-size: var(--fs-lg);
  color: var(--color-text-muted);
  flex-shrink: 0;
  margin-left: 1rem;
  transition: transform 0.2s ease;
}

.mnsk7-faq__item.is-open .mnsk7-faq__q::after {
  content: "−";
}

.mnsk7-faq__a {
  padding: 0 1rem 1rem;
  color: var(--color-text-secondary);
  font-size: var(--fs-sm);
  line-height: 1.7;
  display: none;
}

.mnsk7-faq__item.is-open .mnsk7-faq__a {
  display: block;
}


/* === 15-delivery-contact.css === */
/* 15-delivery-contact — extracted from main.css */

   § DELIVERY RULES / CONTACT / CHECKOUT NOTE
   ----------------------------------------------------------------- */

/* Delivery page — layout pod headerem; page-top od #content, bez duplikatu */
.mnsk7-page-dostawa {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1rem 3rem;
}
.mnsk7-page-dostawa .entry-header {
  margin-bottom: var(--space-title-bottom);
}
.mnsk7-page-dostawa .entry-content {
  margin-top: 0.5rem;
}
.mnsk7-page-dostawa .mnsk7-delivery-rules,
.mnsk7-page-dostawa table.mnsk7-delivery-rules {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.mnsk7-page-dostawa__note {
  margin-top: 1.5rem;
  padding: var(--space-16);
  background: var(--color-surface);
  border-radius: var(--r-sm);
  border-left: 4px solid var(--color-primary);
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
}

.mnsk7-delivery-rules {
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  overflow: hidden;
  margin: 1.5rem 0;
}

.mnsk7-delivery-rules table {
  width: 100%;
  border-collapse: collapse;
}

.mnsk7-delivery-rules th {
  background: var(--color-surface);
  font-weight: 600;
  font-size: var(--fs-sm);
  color: var(--color-text);
}

.mnsk7-delivery-rules th,
.mnsk7-delivery-rules td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--color-border);
  text-align: left;
  font-size: var(--fs-sm);
}

.mnsk7-delivery-rules tr:last-child th,
.mnsk7-delivery-rules tr:last-child td {
  border-bottom: none;
}

.mnsk7-delivery-rules tr:hover td {
  background: var(--color-surface);
}
.mnsk7-delivery-rules--placeholder .mnsk7-page-dostawa__table-placeholder {
  margin: 0;
  padding: 1rem 1.25rem;
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
  font-style: italic;
}

/* Contact page — layout formularza; page-top od #content */
.mnsk7-page-kontakt {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: 0 1rem 3rem;
}
.mnsk7-page-kontakt .entry-header {
  margin-bottom: var(--space-title-bottom);
}
.mnsk7-page-kontakt .entry-content {
  margin-top: 0.5rem;
}

.mnsk7-page-kontakt__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem;
  margin-top: 2rem;
  align-items: start;
}

@media (max-width: 768px) {
  .mnsk7-page-kontakt__grid {
    grid-template-columns: 1fr;
    gap: var(--space-32);
  }
}

.mnsk7-page-kontakt__col--info {
  padding: 1.25rem 0;
}

.mnsk7-contact-info {
  padding: 0;
}

.mnsk7-contact-info__title {
  margin: 0 0 1rem;
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--color-text);
}

.mnsk7-contact-info p,
.mnsk7-contact-info .mnsk7-contact-info__line {
  margin: 0.5rem 0;
  line-height: 1.7;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
}

.mnsk7-contact-info a {
  color: var(--color-primary);
  text-decoration: none;
}

.mnsk7-contact-info a:hover {
  text-decoration: underline;
}

/* Contact form */
.mnsk7-contact-form-wrapper {
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  padding: 1.5rem 1.75rem;
  box-shadow: var(--shadow-sm);
}

.mnsk7-contact-form__title {
  margin: 0 0 0.5rem;
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--color-text);
}

.mnsk7-contact-form__desc {
  margin: 0 0 1.25rem;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  line-height: 1.5;
}

.mnsk7-contact-form__row {
  margin-bottom: 1rem;
}

.mnsk7-contact-form__row--full {
  margin-bottom: 1.25rem;
}

.mnsk7-contact-form__row--submit {
  margin-bottom: 0;
  margin-top: 1.5rem;
}
.mnsk7-contact-form-wrapper {
  margin-top: 0.5rem;
}

.mnsk7-contact-form__row label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text);
}

.mnsk7-contact-form__row .required {
  color: var(--color-danger);
}

.mnsk7-contact-form__input,
.mnsk7-contact-form__textarea {
  width: 100%;
  max-width: 100%;
  padding: 0.5rem 0.75rem;
  font-family: var(--font-base);
  font-size: var(--fs-sm);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  background: var(--color-bg);
  color: var(--color-text);
  box-sizing: border-box;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.mnsk7-contact-form__textarea {
  min-height: 120px;
  resize: vertical;
}

.mnsk7-contact-form__input:focus,
.mnsk7-contact-form__textarea:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(12, 125, 219, 0.12);
  outline: none;
}

.mnsk7-contact-form__input::placeholder,
.mnsk7-contact-form__textarea::placeholder {
  color: var(--color-text-muted);
}

.mnsk7-contact-form__submit {
  min-height: 44px;
  padding: 0.625rem 1.5rem;
  font-weight: 600;
  font-size: var(--fs-sm);
  background: var(--color-primary) !important;
  color: var(--color-white) !important;
  border: none;
  border-radius: var(--r-md);
  cursor: pointer;
  transition: background 0.15s ease;
}

.mnsk7-contact-form__submit:hover {
  background: var(--color-primary-hover) !important;
  color: var(--color-white) !important;
}

.mnsk7-contact-form__submit:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}

/* Moje konto — jeden H1 (nasz z hooka), ukryć duplikat z szablonu strony */
.woocommerce-account .entry-header {
  display: none;
}
/* Moje konto — layout stabilny, w obrębie content-max */
.woocommerce-account .entry-content,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-account .col-full {
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.5rem var(--space-32);
  box-sizing: border-box;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  margin-bottom: 1.5rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.5rem 1rem;
  border-radius: var(--r-sm);
  font-size: var(--fs-sm);
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--color-border);
  background: var(--color-surface);
  color: var(--color-text);
  transition: background 0.15s ease, border-color 0.15s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--color-white);
  border-color: var(--color-primary);
  color: var(--color-primary);
}

/* Dashboard Woo: nawigacja + treść w dwóch kolumnach (bez wtyczki CMAFW) */
@media (min-width: 769px) {
  body.woocommerce-account .woocommerce {
    display: grid;
    grid-template-columns: minmax(200px, 260px) minmax(0, 1fr);
    gap: 2rem;
    align-items: start;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation {
    margin-bottom: 0;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul {
    flex-direction: column;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation a {
    width: 100%;
    box-sizing: border-box;
  }
}
.woocommerce-account .mnsk7-login-benefits {
  margin: 0.75rem 0 1.25rem;
  padding: 1rem 1.125rem;
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  background: var(--color-surface);
}
.woocommerce-account .mnsk7-login-benefits__title {
  margin: 0 0 0.5rem;
  font-size: var(--fs-base);
}
.woocommerce-account .mnsk7-login-benefits__list {
  margin: 0;
  padding-left: 1rem;
  display: grid;
  gap: 0.35rem;
}

/* Przewodnik (single post) — lista artykułów w porządku */
.mnsk7-guide-single {
  padding: var(--space-32) 0 var(--space-48);
}
.mnsk7-guide-article__header {
  margin-bottom: 1.5rem;
}
.mnsk7-guide-article__title {
  margin: 0 0 0.5rem;
  font-size: var(--fs-xl);
  font-weight: 700;
  line-height: 1.25;
}
.mnsk7-guide-article__meta {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--color-text-muted);
}
.mnsk7-guide-article__body {
  margin-top: 1rem;
  line-height: 1.7;
}

/* Checkout delivery note */
.mnsk7-checkout-delivery-note {
  margin-top: 1rem;
  padding: 1rem 1.25rem;
  background: var(--color-surface);
  border-radius: var(--r-sm);
  border-left: 4px solid var(--color-primary);
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  line-height: 1.6;
}

@media (max-width: 768px) {
  .mnsk7-page-dostawa,
  .mnsk7-page-kontakt {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 2rem;
  }

  .mnsk7-page-dostawa .entry-content,
  .mnsk7-page-kontakt .entry-content {
    margin-top: 0.25rem;
  }

  .mnsk7-page-dostawa__note,
  .mnsk7-contact-form-wrapper,
  .mnsk7-checkout-delivery-note {
    border-radius: var(--r-md);
  }

  .mnsk7-contact-form-wrapper {
    padding: 1.25rem 1rem;
  }

  .mnsk7-contact-info__title,
  .mnsk7-contact-form__title {
    font-size: var(--fs-base);
  }

  .mnsk7-contact-info p,
  .mnsk7-contact-info .mnsk7-contact-info__line,
  .mnsk7-contact-form__desc {
    font-size: var(--fs-sm);
  }

  .woocommerce-account .entry-content,
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: var(--space-24);
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    gap: 0.4rem;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
}

/* -----------------------------------------------------------------
   § MOJE KONTO — wymuszenie stylów (nagłówek, przyciski, padding)
   WooCommerce/Storefront ładują się później — wygrywamy !important.
   ----------------------------------------------------------------- */
body.woocommerce-account .mnsk7-header__search-input,
body.woocommerce-account .mnsk7-header__search-dropdown .mnsk7-header__search-input {
  border-radius: var(--r-sm) !important;
  background: var(--color-white) !important;
}
body.woocommerce-account .mnsk7-header__search-submit,
body.woocommerce-account .mnsk7-header__search-dropdown .mnsk7-header__search-submit {
  border-radius: var(--r-md) !important;
}
body.woocommerce-account .mnsk7-header__search-dropdown .mnsk7-header__search-input {
  border-radius: var(--r-sm) 0 0 var(--r-sm) !important;
}
body.woocommerce-account .mnsk7-header__search-dropdown .mnsk7-header__search-submit {
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
}
body.woocommerce-account .woocommerce .button,
body.woocommerce-account .woocommerce input[type="submit"],
body.woocommerce-account .woocommerce button[type="submit"],
body.woocommerce-account input[type="submit"],
body.woocommerce-account button[type="submit"] {
  border-radius: var(--r-md) !important;
  min-height: 44px !important;
}
body.woocommerce-account .mnsk7-footer__newsletter-btn {
  border-radius: var(--r-md) !important;
}
/* Account: dual-support #content i .mnsk7-content (Task 4). */
body.woocommerce-account #content,
body.woocommerce-account .mnsk7-content,
body.woocommerce-account .site-main,
body.woocommerce-account .mnsk7-main {
  max-width: var(--content-max);
  margin-left: auto;
  margin-right: auto;
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  box-sizing: border-box;
}
body.woocommerce-account .col-full {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

/* === 16-woo-notices.css === */
/* 16-woo-notices — WooCommerce messages (add-to-cart, errors). Wyraźne na mobile. */

.woocommerce-message {
  border-top-color: var(--color-primary) !important;
  background: var(--color-surface) !important;
  font-size: var(--fs-sm);
  color: var(--color-text) !important;
  border-left: 4px solid var(--color-primary);
  padding: 0.75rem 1.25rem 0.75rem 2.5rem !important;
}

.woocommerce .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce .woocommerce-notices-wrapper .woocommerce-info {
  border-left: 4px solid var(--color-primary);
  border-color: var(--color-border);
  border-top-color: var(--color-primary) !important;
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
}

.woocommerce-error {
  border-top-color: var(--color-danger);
  background: rgba(239, 68, 68, 0.06);
  font-size: var(--fs-sm);
}

.woocommerce-info,
.woocommerce-message {
  border-top-color: var(--color-primary) !important;
  border-radius: var(--r-sm);
  background: var(--color-surface) !important;
  font-size: var(--fs-sm);
  color: var(--color-text) !important;
}

/* Add-to-cart success: bardziej widoczne (sticky u góry na mobile, wyraźna ramka) */
.woocommerce-message:has(.restore-item),
.woocommerce ul.woocommerce-message {
  font-weight: 500;
}
@media (max-width: 768px) {
  .woocommerce-notices-wrapper {
    position: sticky;
    top: 0;
    z-index: 100;
    margin: 0 -1rem 1rem;
    padding: 0 1rem;
  }
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    padding: 0.875rem 1.25rem 0.875rem 2.5rem !important;
  }
}

/* Cart/checkout notice — w stylu sklepu (surface, nie zielony/niebieski); padding-left żeby ikona nie napełzała na tekst */
.woocommerce-info.darmowa-dostawa,
.woocommerce .cart-subtotal + .woocommerce-info,
.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce > .woocommerce-info[role="status"],
.woocommerce-cart .woocommerce-message {
  background: var(--color-surface) !important;
  color: var(--color-text) !important;
  border: 1px solid var(--color-border);
  border-left: 4px solid var(--color-primary);
  border-radius: var(--r-sm);
  padding: 0.75rem 1.25rem 0.75rem 2.5rem;
}

.woocommerce-cart .woocommerce-info a,
.woocommerce-cart .woocommerce-message a,
.woocommerce .woocommerce-info a {
  color: var(--color-primary);
  text-decoration: underline;
}

/* Checkout toggle links sit on beige surface — use darker primary for AA contrast */
.woocommerce-checkout .woocommerce-info a,
.woocommerce .woocommerce-info[role="status"] a {
  color: var(--color-primary-pressed) !important;
  text-decoration: underline;
}

/* Wyłączenie ewentualnej ikony z rodzica (Storefront) — unikamy nałożenia na tekst */
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce .woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce .woocommerce-notices-wrapper .woocommerce-info::before {
  display: none;
}

/* === 17-buttons.css === */
/* 17-buttons — jeden system: zaokrąglenia, wysokość, primary (audit: brak kwadratowych przycisków) */

/* -----------------------------------------------------------------
   § GLOBAL BUTTON RESET — spójne zaokrąglenie, wysokość, padding
   ----------------------------------------------------------------- */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
a.button,
button.button,
.button,
.mnsk7-plp-chips-toggle,
.mnsk7-plp-search__submit,
.mnsk7-plp-load-more,
.mnsk7-plp-reset.button,
.mnsk7-plp-empty__cta.button,
.mnsk7-footer__newsletter-btn,
.mnsk7-hero__btn,
.mnsk7-btn,
.mnsk7-trust-cta__btn,
.mnsk7-header__search-submit,
.mnsk7-header-search-panel__submit,
.mnsk7-contact-form__submit,
.single_add_to_cart_button,
.add_to_cart_button,
input[type="submit"],
button[type="submit"] {
  border-radius: var(--r-md) !important;
  min-height: 44px;
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-base);
  font-weight: 600;
  vertical-align: middle;
}
/* Padding nie nadpisujemy globalnie — hero, contact, header mają własne; poniżej tylko WooCommerce */

/* -----------------------------------------------------------------
   § WOOCOMMERCE / THEME BUTTONS
   ----------------------------------------------------------------- */
/* Tap target min 44px (WCAG 2.5.5, UI_SPEC_V2 §4.1) */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: var(--r-md);
  font-family: var(--font-base);
  font-weight: 600;
  font-size: var(--fs-sm);
  padding: 0.625rem 1.25rem;
  min-height: 44px;
  box-sizing: border-box;
  transition: background 0.15s ease;
  cursor: pointer;
}

.woocommerce a.button:focus-visible,
.woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
}

/* A11y: Add to cart — darker blue so white text meets WCAG 4.5:1 (Lighthouse) */
.woocommerce .add_to_cart_button,
.woocommerce .single_add_to_cart_button {
  background: var(--color-primary-dark, var(--color-primary));
}

.woocommerce a.button.alt.disabled,
.woocommerce a.button.alt:disabled,
.woocommerce button.button.alt.disabled,
.woocommerce button.button.alt:disabled {
  background: var(--color-border-strong);
  color: var(--color-text-muted);
  cursor: not-allowed;
}

.mnsk7-btn--secondary,
.woocommerce-cart .mnsk7-cart-continue .button.mnsk7-btn-back,
.woocommerce-cart .woocommerce-cart-form .coupon .button,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"],
.woocommerce-checkout .woocommerce-form-login-toggle .showlogin,
.woocommerce-checkout .woocommerce-form-coupon-toggle .showcoupon {
  background: var(--color-white) !important;
  color: var(--color-text) !important;
  border: 1px solid var(--color-border) !important;
  box-shadow: none !important;
}

.mnsk7-btn--ghost {
  background: transparent !important;
  color: var(--color-primary) !important;
  border: 1px solid rgba(12, 125, 219, 0.22) !important;
  box-shadow: none !important;
}

/* -----------------------------------------------------------------
   § FORM ELEMENTS — :focus-visible (WCAG 2.4.7, UI_SPEC_V2 §12 W3)
   ----------------------------------------------------------------- */
input:focus,
select:focus,
textarea:focus {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
  box-shadow: none; /* bez fioletowego glow (Chrome/Safari) */
}
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}

/* === 18-cart-checkout.css === */
/* 18-cart-checkout - cart, empty cart, checkout (backlog 4.x) */

/* --- Przyciski koszyka: jeden styl (Kontynuuj, Kupon, Zaktualizuj) --- */
.mnsk7-cart-continue {
  margin: 0 0 1rem;
}

/* Wspolny styl dla wszystkich przyciskow akcji na stronie koszyka */
.woocommerce-cart .mnsk7-cart-continue .button.mnsk7-btn-back,
.woocommerce-cart .woocommerce-cart-form .coupon .button,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"] {
  display: inline-block;
  min-height: 44px;
  padding: 0.625rem 1.25rem;
  line-height: 1.25;
  font-family: var(--font-base);
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text) !important;
  background: var(--color-white) !important;
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  cursor: pointer;
  text-decoration: none;
  box-sizing: border-box;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.woocommerce-cart .mnsk7-cart-continue .button.mnsk7-btn-back:hover,
.woocommerce-cart .woocommerce-cart-form .coupon .button:hover,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:hover {
  background: var(--color-surface) !important;
  border-color: var(--color-primary);
  color: var(--color-primary) !important;
  box-shadow: 0 10px 24px rgba(12, 125, 219, 0.08);
}

.woocommerce-cart .mnsk7-cart-continue .button.mnsk7-btn-back:focus-visible,
.woocommerce-cart .woocommerce-cart-form .coupon .button:focus-visible,
.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}

.woocommerce-cart .woocommerce-cart-form button[name="update_cart"]:disabled {
  background: var(--color-border-strong) !important;
  color: var(--color-text-muted) !important;
  cursor: not-allowed;
  box-shadow: none;
}

/* --- Loyalty block in cart - wyrazny, sprzedazowy --- */
.mnsk7-cart-loyalty {
  background: linear-gradient(135deg, rgba(12, 125, 219, 0.06) 0%, var(--color-surface) 100%);
  border: 1px solid var(--color-primary);
  border-radius: var(--r-md);
  padding: 1.25rem 1.5rem;
  margin-bottom: 1.25rem;
  box-shadow: 0 1px 3px rgba(12, 125, 219, 0.08);
}

.mnsk7-cart-loyalty__title {
  margin: 0 0 0.5rem;
  font-size: var(--fs-lg, 1.125rem);
  font-weight: 700;
  color: var(--color-primary-dark, #0a5a9e);
  line-height: 1.3;
}

.mnsk7-cart-loyalty__sum,
.mnsk7-cart-loyalty__pct,
.mnsk7-cart-loyalty__next {
  margin: 0.25rem 0;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
}

.mnsk7-cart-loyalty__pct--active {
  color: var(--color-primary-dark, #0a5a9e);
  font-weight: 700;
  font-size: var(--fs-base);
}

.mnsk7-cart-loyalty__guest-cta {
  margin: 0.75rem 0 0.25rem;
}

.mnsk7-cart-loyalty__cta-link {
  display: inline-block;
  font-weight: 600;
  color: var(--color-primary) !important;
  text-decoration: none;
  padding: 0.5rem 0;
  border-radius: var(--r-sm);
  transition: color 0.15s ease, background 0.15s ease;
}

.mnsk7-cart-loyalty__cta-link:hover {
  color: var(--color-primary-dark, #0a5a9e) !important;
  text-decoration: underline;
}

.mnsk7-cart-loyalty__tiers {
  list-style: none;
  margin: 0.5rem 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  font-size: var(--fs-xs);
  color: var(--color-text-muted);
}

.mnsk7-cart-loyalty__tier--reached {
  color: var(--color-primary);
  font-weight: 600;
}

/* --- Empty cart (4.6) --- */
.mnsk7-cart-empty {
  text-align: center;
  padding: clamp(1.5rem, 4vw, 2.25rem);
  max-width: 38rem;
  margin: 0 auto;
  background: linear-gradient(180deg, rgba(12, 125, 219, 0.04) 0%, var(--color-white) 100%);
  border: 1px solid rgba(12, 125, 219, 0.12);
  border-radius: var(--r-lg, 1rem);
  box-shadow: 0 18px 40px rgba(17, 24, 39, 0.06);
}

.mnsk7-cart-empty__icon {
  color: var(--color-primary);
  margin-bottom: 0.75rem;
}

.mnsk7-cart-empty__icon svg {
  display: block;
  margin: 0 auto;
}

.mnsk7-cart-empty__eyebrow {
  margin: 0 0 0.5rem;
  color: var(--color-primary);
  font-size: var(--fs-xs);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mnsk7-cart-empty__title {
  margin: 0;
  font-size: clamp(1.375rem, 4vw, 1.875rem);
  line-height: 1.2;
}

.mnsk7-cart-empty__lead {
  max-width: 32rem;
  margin: 0.875rem auto 0;
  color: var(--color-text-secondary);
  line-height: 1.6;
}

.mnsk7-cart-empty__benefits {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin: 1rem 0 1.25rem;
}

.mnsk7-cart-empty__benefits span {
  padding: 0.5rem 0.75rem;
  background: var(--color-white);
  border: 1px solid var(--color-border);
  border-radius: var(--r-pill);
  font-size: var(--fs-xs);
  font-weight: 600;
  color: var(--color-text);
}

.mnsk7-cart-empty .woocommerce-info,
.mnsk7-cart-empty .cart-empty {
  margin: 0 auto 1.25rem;
  font-size: var(--fs-base);
  max-width: 24rem;
}

.mnsk7-cart-empty__actions {
  margin: 0;
}

.mnsk7-cart-empty__button {
  display: inline-block;
  min-width: 200px;
  box-shadow: 0 16px 30px rgba(12, 125, 219, 0.18);
}

.mnsk7-cart-empty__secondary {
  margin: 0.875rem 0 0;
}

.mnsk7-cart-empty__secondary a {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: none;
}

.mnsk7-cart-empty__secondary a:hover {
  text-decoration: underline;
}

/* --- Cart table --- */
.woocommerce-cart table.shop_table {
  border-color: var(--color-border);
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--color-white);
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.06);
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals {
  background: var(--color-white);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--r-lg, 1rem);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

.woocommerce-cart .woocommerce-cart-form {
  padding: 1rem;
}

.woocommerce-cart .cart_totals {
  padding: 1.25rem;
}

.mnsk7-checkout-steps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 0.85rem;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--r-lg, 1rem);
  background: var(--color-white);
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.mnsk7-checkout-steps__item {
  display: inline-flex;
  align-items: center;
  min-height: 2rem;
  padding: 0.3rem 0.65rem;
  border-radius: var(--r-pill);
  background: rgba(12, 125, 219, 0.08);
  color: var(--color-text-secondary);
  font-size: var(--fs-xs);
  font-weight: 700;
}

.mnsk7-checkout-steps__item--done,
.mnsk7-checkout-steps__item--active {
  color: var(--color-primary-dark, #0a5a9e);
  background: rgba(12, 125, 219, 0.14);
}

.mnsk7-checkout-steps__divider {
  color: var(--color-text-muted);
}

.mnsk7-checkout-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0 0 1rem;
}

.mnsk7-checkout-trust span {
  display: inline-flex;
  align-items: center;
  min-height: 2.1rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--r-pill);
  background: rgba(248, 250, 252, 0.95);
  color: var(--color-text);
  font-size: var(--fs-xs);
  font-weight: 600;
}

.woocommerce-cart table.shop_table th {
  font-weight: 600;
  font-size: var(--fs-sm);
  background: rgba(12, 125, 219, 0.06);
}

.woocommerce-cart table.shop_table td {
  font-size: var(--fs-sm);
  border-color: var(--color-border);
  vertical-align: middle;
}

.woocommerce-cart table.shop_table .product-name a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 600;
  line-height: 1.5;
}

.woocommerce-cart table.shop_table .product-name a:hover {
  text-decoration: underline;
}

.woocommerce-cart table.shop_table .product-thumbnail img {
  width: 4.5rem;
  max-width: 4.5rem;
  border-radius: 0.75rem;
  background: var(--color-surface);
}

.woocommerce-cart .shop_table_responsive tr.woocommerce-cart-form__cart-item td {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.woocommerce-cart .product-remove .remove {
  font-size: var(--fs-lg);
  line-height: 1;
  color: var(--color-text-muted);
  text-decoration: none;
  padding: 0.25rem;
  border-radius: var(--r-sm);
  transition: color 0.15s ease, background 0.15s ease;
}

.woocommerce-cart .product-remove .remove:hover {
  color: var(--color-error, #b32d2e);
  background: var(--color-surface);
}

.woocommerce-cart .quantity.quantity--stepper {
  margin: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  padding: 0.125rem;
  border: 1px solid var(--color-border);
  border-radius: var(--r-pill);
  background: var(--color-white);
}

.woocommerce-cart .quantity .qty {
  width: 3.25rem;
  min-width: 3.25rem;
  min-height: 44px;
  text-align: center;
  padding: 0.5rem 0.25rem;
  border: none;
  box-shadow: none;
  background: transparent;
  border-radius: var(--r-pill);
  font-weight: 700;
  appearance: textfield;
}

.woocommerce-cart .mnsk7-qty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: none;
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
}

.woocommerce-cart .mnsk7-qty-btn:hover {
  background: var(--color-surface);
}

.woocommerce-cart .actions {
  padding-top: 1rem;
}

.woocommerce-cart .actions .coupon {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.woocommerce-cart .actions .coupon #coupon_code {
  min-height: 44px;
  min-width: min(100%, 18rem);
  padding: 0.625rem 0.875rem;
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  background: var(--color-white);
}

.woocommerce-cart .actions .coupon #coupon_code:focus {
  border-color: var(--color-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(12, 125, 219, 0.12);
}

.woocommerce-cart .cart_totals h2 {
  margin-top: 0;
  margin-bottom: 1rem;
}

.woocommerce-cart .cart_totals table {
  margin-bottom: 1rem;
}

.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td {
  font-size: var(--fs-base);
  font-weight: 700;
}

.woocommerce-cart .cart_totals .shipping-calculator-button,
.woocommerce-cart .cart_totals .shipping-calculator-form button {
  color: var(--color-primary);
}

.woocommerce-cart .cart_totals .shipping-calculator-button:hover {
  text-decoration: underline;
}

/* Checkout CTA - wyrazna (4.4); audit: zawsze klikalna, nad innymi elementami */
.woocommerce-cart .wc-proceed-to-checkout,
.woocommerce-cart .cart_totals .wc-proceed-to-checkout {
  position: relative;
  z-index: 2;
}

.woocommerce-cart .cart-collaterals {
  display: grid;
  gap: 1rem;
}

@media (min-width: 981px) {
  .woocommerce-cart .cart_totals {
    position: sticky;
    top: 8rem;
  }
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-cart .cart_totals a.checkout-button,
#mnsk7-cart-checkout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  width: 100%;
  min-height: 48px;
  text-align: center;
  line-height: 1.2;
  padding: 0.875rem 1.5rem;
  font-size: var(--fs-base);
  font-weight: 700;
  background: var(--color-primary) !important;
  color: var(--color-white) !important;
  text-decoration: none;
  pointer-events: auto;
  border-radius: var(--r-md);
  box-sizing: border-box;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button::after,
.woocommerce-cart .cart_totals a.checkout-button::after,
#mnsk7-cart-checkout-button::after {
  display: none !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .cart_totals .checkout-button:hover {
  background: var(--color-primary-hover) !important;
  color: var(--color-white) !important;
}

.mnsk7-cart-checkout-note {
  margin: 0.75rem 0 0;
  color: var(--color-text-secondary);
  font-size: var(--fs-sm);
  text-align: center;
}

.mnsk7-cart-checkout-trust {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-top: 0.875rem;
}

.mnsk7-cart-checkout-trust span {
  padding: 0.45rem 0.75rem;
  border-radius: var(--r-pill);
  background: rgba(12, 125, 219, 0.06);
  color: var(--color-text);
  font-size: var(--fs-xs);
  font-weight: 600;
}

.woocommerce-checkout .form-row label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text);
}

.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  padding: 0.5rem 0.75rem;
  font-family: var(--font-base);
  font-size: var(--fs-sm);
}

.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px rgba(12, 125, 219, 0.12);
  outline: none;
}

.woocommerce-checkout #payment {
  background: var(--color-surface);
  border-radius: var(--r-md);
}

.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-checkout .woocommerce-notices-wrapper .woocommerce-info {
  margin-bottom: 0.85rem;
}

.woocommerce-checkout .mnsk7-checkout-notice-card {
  border-radius: var(--r-md);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.woocommerce-checkout .mnsk7-checkout-notice-card--compact {
  margin-bottom: 0.55rem;
  font-size: var(--fs-xs);
}

/* Audit task 13: na mobile przycisk "Kupuje i place" widoczny, nie zasloniety przez sticky header */
@media (max-width: 768px) {
  .mnsk7-checkout-steps {
    gap: 0.3rem;
    padding: 0.75rem 0.85rem;
    margin-bottom: 0.7rem;
  }

  .mnsk7-checkout-trust {
    gap: 0.4rem;
    margin-bottom: 0.7rem;
  }

  .mnsk7-checkout-trust span {
    width: 100%;
    justify-content: center;
  }

  .woocommerce-checkout form.woocommerce-checkout {
    padding-bottom: 6rem;
  }

  .woocommerce-checkout #payment .form-row.place-order {
    margin-bottom: 1rem;
  }
}

/* Audit task 7: pelna nazwa produktu w "Twoje zamowienie" - bez obciecia (mobile/tablet) */
.woocommerce-checkout-review-order-table .product-name,
.woocommerce-checkout .shop_table .product-name,
.woocommerce table.woocommerce-checkout-review-order-table .product-name {
  white-space: normal !important;
  word-wrap: break-word;
  overflow-wrap: break-word;
  max-width: 100%;
}

.woocommerce-checkout-review-order-table .product-name a,
.woocommerce-checkout .shop_table .product-name a {
  white-space: normal;
  word-wrap: break-word;
}

/* Audit task 2-3: na mobile przycisk "Przejdz do platnosci" sticky u dolu - zawsze widoczny i klikalny */
@media (max-width: 768px) {
  .mnsk7-cart-empty {
    max-width: none;
    padding: 1.5rem 1rem;
    border-radius: 1.25rem;
  }

  .mnsk7-cart-empty__benefits {
    justify-content: stretch;
  }

  .mnsk7-cart-empty__benefits span {
    width: 100%;
  }

  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart_totals {
    padding: 0.875rem;
    border-radius: 1rem;
  }

  .woocommerce-cart .wc-proceed-to-checkout,
  .woocommerce-cart .cart_totals .wc-proceed-to-checkout {
    position: sticky;
    bottom: var(--mnsk7-cookie-bar-h, 0px);
    z-index: 100;
    margin: 0;
    padding: 0.75rem 1rem;
    padding-bottom: max(0.75rem, calc(0.75rem + env(safe-area-inset-bottom)));
    background: var(--color-white);
    border-top: 1px solid var(--color-border);
    box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.06);
  }
}

/* Audit task 12: Oblicz koszty wysylki - na waskich ekranach pola w kolumne, bez overflow */
@media (max-width: 360px) {
  .woocommerce-cart .cart_totals .shipping-calculator-form .form-row {
    width: 100%;
    float: none;
    margin-right: 0;
  }

  .woocommerce-cart .cart_totals .shipping-calculator-form select,
  .woocommerce-cart .cart_totals .shipping-calculator-form input[type="text"] {
    max-width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 768px) {
  .woocommerce-cart table.shop_table td,
  .woocommerce-cart table.shop_table th,
  .woocommerce-checkout .form-row label {
    font-size: var(--fs-sm);
  }

  .woocommerce-cart .actions .coupon {
    gap: 0.625rem;
  }

  .woocommerce-cart .actions .coupon #coupon_code,
  .woocommerce-cart .actions .coupon .button,
  .woocommerce-cart .actions button[name="update_cart"] {
    width: 100%;
  }

  .woocommerce-cart .mnsk7-cart-continue .button.mnsk7-btn-back {
    width: 100%;
    text-align: center;
  }

  .woocommerce-checkout .form-row input,
  .woocommerce-checkout .form-row textarea,
  .woocommerce-checkout .form-row select {
    font-size: var(--fs-base);
  }

  .woocommerce-checkout .mnsk7-checkout-notice-card--compact {
    opacity: 0.92;
  }

  .woocommerce-cart .cart_totals,
  .woocommerce-checkout #payment {
    border-radius: var(--r-md);
  }

  .woocommerce-cart .mnsk7-cart-loyalty {
    padding: 1rem;
  }
}

/* === 19-breadcrumbs.css === */
/* 19-breadcrumbs — okruszki (na PDP przy tytule, na archiwum pod headerem) */

.mnsk7-breadcrumb-wrap {
  margin-top: 0;
  margin-bottom: var(--space-breadcrumbs-bottom);
  padding: 0.75rem 0;
  background: #f6f8fb;
  border-bottom: 1px solid var(--color-border, #e5e5e5);
}

/* PDP: okruszki nad tytułem — wyrównanie do lewej, bez pływania */
.single-product .summary .mnsk7-breadcrumb-wrap {
  margin-top: 0;
  margin-bottom: 0.5rem;
  padding: 0.35rem 0;
  background: transparent;
  border-bottom: none;
  text-align: left;
}

.single-product .summary .mnsk7-pdp-back-search {
  margin: 0;
}

.single-product .summary .mnsk7-pdp-back-search__link {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-primary);
  text-decoration: none;
}

.single-product .summary .mnsk7-pdp-back-search__link::before {
  content: "\2190";
  font-size: 0.95em;
  line-height: 1;
}

.single-product .summary .mnsk7-pdp-back-search__link:hover {
  text-decoration: underline;
}

.single-product .summary .woocommerce-breadcrumb {
  justify-content: flex-start;
}

.single-product .summary .mnsk7-pdp-breadcrumb-slot {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.25rem;
  width: 100%;
  min-width: 0;
  margin: 0 0 0.45rem;
}

.single-product .summary .mnsk7-pdp-breadcrumb-slot__back,
.single-product .summary .mnsk7-pdp-breadcrumb-slot__trail {
  width: 100%;
}

.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb {
  font-size: var(--fs-sm, 0.9375rem);
  color: var(--color-text);
  padding: 0;
  margin: 0;
  line-height: 1.5;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.25rem 0;
}

.woocommerce-breadcrumb a {
  color: var(--color-text);
  text-decoration: none;
  font-weight: 500;
}

.woocommerce-breadcrumb a.home {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.woocommerce-breadcrumb a.home::before {
  content: "";
  width: 0.9rem;
  height: 0.9rem;
  flex: 0 0 0.9rem;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3.172 3 10.2V21h6v-6h6v6h6V10.2l-9-7.028ZM5 11.18l7-5.468 7 5.468V19h-2v-6H7v6H5v-7.82Z'/%3E%3C/svg%3E") center / contain no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3.172 3 10.2V21h6v-6h6v6h6V10.2l-9-7.028ZM5 11.18l7-5.468 7 5.468V19h-2v-6H7v6H5v-7.82Z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce-breadcrumb a.home::before,
.woocommerce-breadcrumb a:first-of-type::before {
  display: none;
}

.woocommerce-breadcrumb a:hover {
  text-decoration: underline;
}

.woocommerce-breadcrumb .separator {
  margin: 0 0.4rem;
  color: var(--color-text-muted, #666);
  user-select: none;
  flex-shrink: 0;
}

.woocommerce-breadcrumb .last-item {
  color: var(--color-text);
  font-weight: 600;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: inline-block;
  vertical-align: bottom;
}

@media (min-width: 600px) {
  .woocommerce-breadcrumb .last-item {
    max-width: 320px;
  }
}

/* Audit task 15: na mobile breadcrumbs czytelne, bez nadmiernego obcięcia */
@media (max-width: 480px) {
  .mnsk7-breadcrumb-wrap {
    padding: 0.5rem 0;
  }
  .woocommerce-breadcrumb {
    min-width: 0;
  }
  .woocommerce-breadcrumb .last-item {
    max-width: 100%;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
  }
}

/* === 20-responsive-tablet.css === */
/* 20-responsive-tablet — extracted from main.css */

/* -----------------------------------------------------------------
   § RESPONSIVE — Tablet / Mobile
   Breakpoint 768px = --breakpoint-mobile (01-tokens.css), MNSK7_BREAKPOINT_MOBILE (PHP).
   ----------------------------------------------------------------- */

@media (max-width: 768px) {
  :root {
    --fs-3xl: 1.75rem;
    --fs-2xl: 1.5rem;
    --fs-xl:  1.25rem;
  }

  /* Product grids at 768px: only in 21-responsive-mobile.css (gap 0.75rem) */
  /* Footer at 768px: only in 09-footer.css */

  /* Hero */
  .mnsk7-hero {
    padding: 3.5rem 1rem 3.1rem;
  }

  .mnsk7-hero__split {
    grid-template-columns: 1fr;
    gap: 1.2rem;
  }

  .mnsk7-hero__content {
    max-width: none;
  }

  .mnsk7-hero__title {
    max-width: 13ch;
  }

  .mnsk7-hero__lead {
    max-width: none;
  }

  .mnsk7-hero__usps {
    gap: 0.5rem;
  }

  .mnsk7-hero__usp {
    font-size: 0.8rem;
    padding: 0.45rem 0.75rem;
  }

  .mnsk7-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .mnsk7-hero__panel {
    padding: 1.1rem;
  }

  .mnsk7-hero__panel-meta {
    gap: 0.5rem;
  }

  .mnsk7-section__header {
    flex-direction: column;
    align-items: stretch;
    margin-bottom: 1.5rem;
  }

  .mnsk7-section__header--bestsellers {
    gap: 1rem;
  }

  .mnsk7-section--bestsellers .mnsk7-section__more {
    text-align: left;
  }

  .mnsk7-hero__proof-row {
    gap: 0.3rem;
  }

  .mnsk7-section--catalog .col-full,
  .mnsk7-section--trust .col-full,
  .mnsk7-section--loyalty .col-full,
  .mnsk7-section--insta .col-full {
    padding: 1.2rem;
  }

  .mnsk7-trust-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  /* Sections */
  .mnsk7-section {
    padding: var(--space-32) 0;
  }

  /* Trust stats: stack */
  .mnsk7-trust-stats {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }

  /* Loyalty: layout w 08-home-sections (3 col / stack ≤900px) — bez nadpisywania siatki tutaj */

  /* Allegro reviews: single col */
  .mnsk7-allegro-reviews__list {
    grid-template-columns: 1fr;
  }

  /* SEO page */
  .mnsk7-seo-hero {
    padding: var(--space-32) 0 var(--space-16);
  }

  /* PDP layout: stack images + summary */
  .single-product div.product .images,
  .single-product div.product .summary {
    width: 100%;
    max-width: 100%;
    float: none;
  }
}

/* === 21-responsive-mobile.css === */
/* 21-responsive-mobile — Mobile: 2 kolumny gdzie sensowne, overflow-x hidden, 1 kol. tylko na bardzo wąskich.
   Task 8: overflow-x: hidden — zapobiega przewijaniu w poziomie na wąskich ekranach (szerokie tabele/obrazy). */

@media (max-width: 768px) {
  body,
  .site,
  #page {
    overflow-x: clip;
  }
  #content,
  .site-content,
  .mnsk7-content {
    overflow-x: clip;
    max-width: 100%;
  }
  /* Product grids: 2 kolumny tylko PLP. Recommendation blocks: 12-related-products.css. */
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.75rem !important;
  }
}

@media (max-width: 480px) {
  .mnsk7-section {
    padding: 2.25rem 0;
  }

  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 0.6rem !important;
  }

  /* Categories: 2 columns (compact on small screens) */
  .mnsk7-cats {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }

  /* Key params: stack */
  .mnsk7-product-key-params__list {
    grid-template-columns: 1fr;
  }

  .mnsk7-product-key-params dt {
    border-bottom: none;
    padding-bottom: 0;
  }

  .mnsk7-product-key-params dd {
    padding-top: 0.125rem;
  }

  /* Hero adjustments */
  .mnsk7-hero {
    padding: 2.5rem var(--space-16) 2.35rem;
  }

  .mnsk7-hero__title {
    font-size: clamp(1.9rem, 8.6vw, 2.6rem);
    max-width: 12ch;
    margin-bottom: 0.9rem;
  }

  .mnsk7-hero__eyebrow {
    font-size: 0.7rem;
    margin-bottom: 0.8rem;
    letter-spacing: 0.07em;
  }

  .mnsk7-hero__lead {
    font-size: 0.94rem;
    line-height: 1.58;
    margin-bottom: 1rem;
  }

  .mnsk7-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.55rem;
    margin-bottom: 1rem;
  }

  .mnsk7-hero__stat {
    min-height: 0;
  }

  .mnsk7-hero__stat:last-child {
    grid-column: auto;
  }

  .mnsk7-hero__stat {
    padding: 0.75rem 0.7rem;
    border-radius: 14px;
  }

  .mnsk7-hero__stat-value {
    font-size: 1.05rem;
  }

  .mnsk7-hero__stat-label {
    font-size: 0.72rem;
    line-height: 1.25;
  }

  .mnsk7-hero__materials,
  .mnsk7-hero__usps,
  .mnsk7-hero__ctas {
    justify-content: flex-start;
  }

  .mnsk7-hero__materials {
    gap: 0.45rem 0.5rem;
    margin-bottom: 1rem;
  }

  .mnsk7-hero__material-chip {
    padding: 0.38rem 0.72rem;
    font-size: 0.8rem;
  }

  .mnsk7-hero__usps {
    gap: 0.45rem;
    margin-bottom: 1.05rem;
  }

  .mnsk7-hero__usp {
    width: auto;
    justify-content: flex-start;
    padding: 0.55rem 0.8rem;
    font-size: 0.78rem;
  }

  .mnsk7-hero__ctas {
    flex-direction: column;
    align-items: stretch;
    gap: 0.65rem;
  }

  .mnsk7-hero__rail {
    margin-top: 0;
  }

  .mnsk7-hero__panel {
    padding: 0.95rem 0.95rem 1rem;
    gap: 0.8rem;
    border-radius: 18px;
  }

  .mnsk7-cats__item {
    gap: 0.75rem;
    padding: 0.85rem 0.9rem;
    align-items: flex-start;
  }

  .mnsk7-cats__img-wrap {
    width: 64px;
    height: 64px;
  }

  .mnsk7-cats__name {
    font-size: 0.94rem;
    line-height: 1.28;
  }

  .mnsk7-cats__count {
    font-size: 0.82rem;
  }

  .mnsk7-hero__panel-meta {
    flex-direction: column;
  }

  .mnsk7-hero__panel-chip {
    width: 100%;
    justify-content: center;
  }

  .mnsk7-hero__panel-title {
    font-size: 1.05rem;
  }

  .mnsk7-hero__proof-list {
    gap: 0;
  }

  .mnsk7-hero__proof-row {
    gap: 0.3rem;
    padding: 0.75rem 0;
  }

  .mnsk7-hero__proof-label {
    font-size: 0.88rem;
  }

  .mnsk7-hero__proof-text {
    font-size: 0.79rem;
    line-height: 1.4;
  }

  .mnsk7-section__eyebrow {
    font-size: 0.72rem;
    margin-bottom: 0.75rem;
  }

  .mnsk7-section__sub {
    margin-bottom: 1.4rem;
    font-size: 0.94rem;
  }

  .mnsk7-section__header {
    margin-bottom: 1.35rem;
  }

  /* Homepage #bestsellery: poziomy strip (reguły w 25-global-layout), nie 1 kolumna. */
  .mnsk7-section--bestsellers:not(#bestsellery) ul.products {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
  }

  .mnsk7-section--bestsellers .mnsk7-section__header,
  .mnsk7-section--bestsellers .mnsk7-section__header-copy {
    align-items: center;
    text-align: center;
  }

  .mnsk7-section--bestsellers .mnsk7-section__eyebrow,
  .mnsk7-section--bestsellers .mnsk7-section__title {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .mnsk7-section--bestsellers .mnsk7-section__more {
    width: 100%;
    text-align: center;
  }

  .mnsk7-section--bestsellers:not(#bestsellery) .mnsk7-section__more a {
    width: 100%;
  }

  .mnsk7-section--catalog .mnsk7-section__eyebrow,
  .mnsk7-section--catalog .mnsk7-section__title,
  .mnsk7-section--catalog .mnsk7-section__sub,
  .mnsk7-section--catalog .mnsk7-catalog-aside__title {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .mnsk7-section--catalog .mnsk7-section__more {
    text-align: center;
  }

  .mnsk7-section--catalog .col-full,
  .mnsk7-section--trust .col-full,
  .mnsk7-section--loyalty .col-full,
  .mnsk7-section--insta .col-full {
    padding: 0.9rem 0.85rem;
  }

  .mnsk7-section--catalog .col-full::before,
  .mnsk7-section--trust .col-full::before,
  .mnsk7-section--loyalty .col-full::before,
  .mnsk7-section--insta .col-full::before {
    border-radius: 20px;
  }

  .mnsk7-loyalty-tiers {
    grid-template-columns: 1fr;
    gap: 0.8rem;
  }

  /* Trust stats: 3 kolumny (ukryta 4. karta „produktów”) — większe kafelki */
  .mnsk7-trust-stats__item:nth-child(4) {
    display: none;
  }

  .mnsk7-trust-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
    margin-bottom: 1.25rem;
    align-items: stretch;
  }

  .mnsk7-section--trust .mnsk7-section__eyebrow,
  .mnsk7-section--trust .mnsk7-section__title,
  .mnsk7-section--trust .mnsk7-section__sub {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .mnsk7-section--loyalty .mnsk7-section__eyebrow,
  .mnsk7-section--loyalty .mnsk7-section__title,
  .mnsk7-section--loyalty .mnsk7-section__sub {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  .mnsk7-trust-stats__item {
    padding: 0.45rem 0.28rem;
    min-height: 0;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 0.2rem;
  }

  .mnsk7-trust-stats__number {
    font-size: clamp(0.9rem, 3.6vw, 1.12rem);
    line-height: 1.05;
  }

  .mnsk7-trust-stats__label {
    width: 100%;
    text-align: center;
    font-size: clamp(0.62rem, 2.5vw, 0.76rem);
    line-height: 1.15;
    hyphens: auto;
    overflow-wrap: break-word;
  }

  /* Allegro cytaty: niższy „footprint”, bez utraty treści */
  .mnsk7-allegro-reviews__title:empty {
    display: none;
  }

  .mnsk7-allegro-reviews__list {
    gap: 0.45rem;
    margin-top: 0.65rem;
  }

  .mnsk7-allegro-reviews__item {
    margin: 0;
    padding: 0.55rem 0.65rem;
    font-size: clamp(0.78rem, 3.1vw, 0.875rem);
    line-height: 1.38;
  }

  .mnsk7-allegro-reviews__item::before {
    font-size: 0.68rem;
    margin-bottom: 0.32rem;
    letter-spacing: 0.06em;
  }

  .mnsk7-allegro-reviews__item p {
    margin: 0 0 0.32rem;
  }

  .mnsk7-allegro-reviews__item cite {
    display: block;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 600;
    opacity: 0.82;
    margin: 0;
    line-height: 1.25;
  }

  .mnsk7-loyalty-tier {
    padding: 0.95rem 0.95rem;
    justify-content: center;
    align-items: center;
    text-align: center;
  }

  .mnsk7-loyalty-tier__from {
    width: 100%;
    text-align: center;
  }

  .mnsk7-trust-stats__number,
  .mnsk7-loyalty-tier__pct {
    min-height: 1.25em;
  }

  .mnsk7-loyalty-tier:last-child .mnsk7-loyalty-tier__pct {
    font-size: var(--fs-3xl);
  }

  /* Cookie bar: bottom-sheet / stacked — bez obcięcia, bez overflow (P0) */
  .mnsk7-cookie-bar {
    flex-direction: column;
    text-align: center;
    padding: 0.75rem 1rem;
    padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
    align-items: stretch;
  }

  .mnsk7-cookie-bar__inner {
    flex-direction: column;
    gap: 0.75rem;
  }

  .mnsk7-cookie-bar__text {
    flex: none;
    width: 100%;
    max-width: 36rem;
    margin: 0 auto;
    text-align: center;
    font-size: 0.75rem;
    line-height: 1.35;
  }

  .mnsk7-cookie-bar__buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
    align-items: stretch;
    gap: 0.5rem;
  }

  .mnsk7-cookie-bar__btn {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    min-height: 3rem;
    padding: 0.6rem 0.75rem;
    font-size: 0.75rem;
  }

  .mnsk7-cookie-bar-accept {
    grid-column: 1 / -1;
  }

  .mnsk7-cookie-bar__btn--secondary {
    grid-column: 2;
  }

  @media (max-width: 380px) {
    .mnsk7-cookie-bar__buttons {
      grid-template-columns: 1fr;
    }

    .mnsk7-cookie-bar__btn--secondary {
      grid-column: auto;
    }
  }

  /* Delivery table: mniejszy font i padding, zawijanie tekstu — bez wewnętrznego scrolla */
  .mnsk7-delivery-rules {
    font-size: var(--fs-sm);
  }
  .mnsk7-delivery-rules table {
    table-layout: fixed;
  }
  .mnsk7-delivery-rules th,
  .mnsk7-delivery-rules td {
    padding: 0.5rem 0.6rem;
    word-break: normal;
    overflow-wrap: break-word;
    hyphens: auto;
  }
  .mnsk7-delivery-rules th:first-child,
  .mnsk7-delivery-rules td:first-child {
    width: 4.75rem;
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
  .mnsk7-delivery-rules th {
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }
}

/* Bardzo wąskie (≤360px): 1 kolumna na PLP. Recommendation blocks: 12-related-products.css (≤400px). */
@media (max-width: 360px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
  }

  .mnsk7-hero__stats {
    grid-template-columns: 1fr;
  }

  .mnsk7-hero__btn {
    width: 100%;
  }
}

/* === 22-touch-targets.css === */
/* 22-touch-targets — extracted from main.css */

/* -----------------------------------------------------------------
   § TOUCH TARGETS
   All interactive elements ≥ 44px for accessibility (WCAG 2.5.5).
   ----------------------------------------------------------------- */

.site-header .menu-toggle,
.site-header-cart .cart-contents,
.add_to_cart_button,
.single_add_to_cart_button,
a.button.alt,
.mnsk7-faq__q,
.mnsk7-cookie-bar__btn,
.mnsk7-hero__btn {
  min-height: 44px;
}

.site-header .menu-toggle {
  min-width: 44px;
}

/* Keep PLP buttons from expanding horizontally beyond card */
.woocommerce ul.products li.product .button {
  min-width: unset;
}

/* Pagination and Place order: min 44px for touch (WCAG 2.5.5) */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.woocommerce-checkout #payment .form-row.place-order .button,
.woocommerce-checkout #payment .place-order .button {
  min-height: 44px;
}

/* Ordering dropdown (Zamówienie w sklepie) — min height tap target */
.woocommerce-ordering select,
.woocommerce .woocommerce-ordering select {
  min-height: 44px;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  box-sizing: border-box;
}

/* Quantity input .qty (PDP, PLP, cart) — min 44px height */
.woocommerce .quantity .qty,
.woocommerce form .quantity input.qty {
  min-height: 44px;
  box-sizing: border-box;
  padding: 0.5rem 0.75rem;
}

.mnsk7-qty-btn {
  min-width: 44px;
  min-height: 44px;
}

/* === 23-print.css === */
/* 23-print — extracted from main.css */

   § PRINT — minimal overrides
   ----------------------------------------------------------------- */

@media print {
  .site-header,
  .storefront-primary-navigation,
  .mnsk7-cookie-bar,
  .mnsk7-site-footer-block,
  .mnsk7-footer-bottom,
  .site-header-cart {
    display: none;
  }

  body {
    font-size: 12pt;
    color: #000;
  }
}

/* === 24-plp-table.css === */
/* 24-plp-table Ă˘â‚¬â€ť Sandvik-style table + chips (Ĺâ€ˇÄÂ¸ÄĹĽĹÂĹâ€ą) on category/tag archives */

/* Bez zdjĂ„â„˘cia kategorii/tagu u gÄ‚Ĺ‚ry Ă˘â‚¬â€ť ukrywamy kwadrat z lewej (kategoria/tag w jednym stylu) */
body.tax-product_cat .woocommerce-products-header img,
body.tax-product_cat .woocommerce-products-header .wp-post-image,
body.tax-product_cat .woocommerce-products-header .attachment-woocommerce_thumbnail,
body.tax-product_cat .woocommerce_category_image,
body.tax-product_cat [class*="category-image"],
body.tax-product_tag .woocommerce-products-header img,
body.tax-product_tag .woocommerce-products-header .wp-post-image,
body.tax-product_tag .woocommerce-products-header .attachment-woocommerce_thumbnail,
body.tax-product_tag .woocommerce_category_image,
body.tax-product_tag [class*="category-image"] {
  display: none;
}

/* NagÄąâ€šÄ‚Ĺ‚wek kategorii/tagu Ă˘â‚¬â€ť wizualna hierarchia: tytuÄąâ€š + chips; odstĂ„â„˘p pod tytuÄąâ€šem = token */
.woocommerce-products-header {
  margin-top: 0;
  margin-bottom: var(--space-title-bottom);
  padding-bottom: 0 !important;
  text-align: left !important;
  min-height: 0 !important;
}
.woocommerce-products-header__title.page-title {
  margin: 0;
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 700;
  line-height: 1.3;
  color: var(--color-text);
  text-align: left !important;
}
/* WyÄąÄ˝sza specyficznoÄąâ€şĂ„â€ˇ niÄąÄ˝ 05-plp-cards (bodyĂ˘â‚¬Â¦ #content h1.page-title Ă˘â€ â€™ --fs-2xl) Ă˘â‚¬â€ť archiwa Sklep/kategoria/tag */
body.post-type-archive-product #content h1.woocommerce-products-header__title.page-title,
body.post-type-archive-product .mnsk7-content h1.woocommerce-products-header__title.page-title,
body.tax-product_cat #content h1.woocommerce-products-header__title.page-title,
body.tax-product_cat .mnsk7-content h1.woocommerce-products-header__title.page-title,
body.tax-product_tag #content h1.woocommerce-products-header__title.page-title,
body.tax-product_tag .mnsk7-content h1.woocommerce-products-header__title.page-title {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
}

/* Sklep główny (bez taksonomii): H1 jak tytuł kategorii/tag (np. PCV) — wyśrodkowany, czarny */
body.post-type-archive-product:not(.tax-product_cat):not(.tax-product_tag) #content h1.woocommerce-products-header__title.page-title,
body.post-type-archive-product:not(.tax-product_cat):not(.tax-product_tag) .mnsk7-content h1.woocommerce-products-header__title.page-title {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: normal;
  text-transform: none;
  color: #000;
  text-align: center !important;
}

/* =================================================================
   Archive vertical rhythm (compact) Ă˘â‚¬â€ť tylko archiwa towarÄ‚Ĺ‚w
   body.post-type-archive-product, body.tax-product_cat, body.tax-product_tag
   Dwie systemy: default page rhythm (25-global, 05-plp) + compact archive rhythm (tu).
   OdstĂ„â„˘py przez zmienne --archive-gap-*: jeden gap = jedna zmienna (nie suma margin+padding).
   HANDOFF: docs/PLP-ARCHIVE-VERTICAL-RHYTHM-HANDOFF.md
   ================================================================= */
body.post-type-archive-product,
body.tax-product_cat,
body.tax-product_tag {
  --archive-gap-page-top: 0;            /* compact desktop rhythm */
  --archive-gap-breadcrumbs-title: 0.3rem;
  --archive-gap-title-chips: 0.1rem;
  --archive-gap-chips-filters: 0.35rem;
  --archive-gap-filter-rows: 0.55rem;        /* 12px Ă˘â‚¬â€ť miĂ„â„˘dzy wierszami filtrÄ‚Ĺ‚w */
  --archive-gap-filters-results: 0.25rem;
  --archive-inner-breadcrumb: 0.2rem;         /* padding wewnĂ„â„˘trzny .mnsk7-breadcrumb-wrap */
  --archive-after-search: 0.15rem;
  --archive-after-trust: 0.4rem;
  --archive-after-table: 0.8rem;
}
body.tax-product_tag {
  --archive-gap-filter-rows: 0.45rem;
  --archive-after-search: 0.1rem;
}
/* Sklep (archiwum bez taksonomii): ciaśniej niż kategoria/tag — breadcrumbs → H1 */
body.post-type-archive-product {
  --archive-gap-breadcrumbs-title: 0.12rem;
  --archive-inner-breadcrumb: 0.08rem;
  --archive-gap-title-chips: 0.05rem;
}
body.post-type-archive-product #content,
body.post-type-archive-product .mnsk7-content,
body.tax-product_cat #content,
body.tax-product_cat .mnsk7-content,
body.tax-product_tag #content,
body.tax-product_tag .mnsk7-content {
  padding-top: var(--archive-gap-page-top);
}
body.post-type-archive-product .mnsk7-breadcrumb-wrap,
body.tax-product_cat .mnsk7-breadcrumb-wrap,
body.tax-product_tag .mnsk7-breadcrumb-wrap {
  margin-bottom: var(--archive-gap-breadcrumbs-title);
  padding-top: var(--archive-inner-breadcrumb);
  padding-bottom: var(--archive-inner-breadcrumb);
}
body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header {
  margin-bottom: var(--archive-gap-title-chips);
  padding-bottom: 0 !important;
  text-align: left !important;
  min-height: 0 !important;
}
body.post-type-archive-product:not(.tax-product_cat):not(.tax-product_tag) .woocommerce-products-header {
  text-align: center !important;
}
body.post-type-archive-product .woocommerce-products-header .page-description,
body.tax-product_cat .woocommerce-products-header .page-description,
body.tax-product_tag .woocommerce-products-header .page-description,
body.post-type-archive-product .woocommerce-products-header .page-description p,
body.tax-product_cat .woocommerce-products-header .page-description p,
body.tax-product_tag .woocommerce-products-header .page-description p {
  margin: 0 !important;
  padding: 0 !important;
}
body.post-type-archive-product .woocommerce-products-header .page-description:empty,
body.tax-product_cat .woocommerce-products-header .page-description:empty,
body.tax-product_tag .woocommerce-products-header .page-description:empty,
body.post-type-archive-product .woocommerce-products-header .page-description p:empty,
body.tax-product_cat .woocommerce-products-header .page-description p:empty,
body.tax-product_tag .woocommerce-products-header .page-description p:empty {
  display: none !important;
}
/* Kategoria/tag: tytuÄąâ€š i chips w jednej linii wizualnej Ă˘â‚¬â€ť ten sam lewy brzeg (bez dodatkowego paddingu) */
body.tax-product_cat .woocommerce-products-header,
body.tax-product_tag .woocommerce-products-header,
body.tax-product_cat .mnsk7-plp-archive-wrap,
body.tax-product_tag .mnsk7-plp-archive-wrap {
  padding-left: 0;
  padding-right: 0;
}
body.post-type-archive-product .mnsk7-plp-chips:first-of-type,
body.tax-product_cat .mnsk7-plp-chips:first-of-type,
body.tax-product_tag .mnsk7-plp-chips:first-of-type {
  margin-top: 0;
  margin-bottom: var(--archive-gap-chips-filters);
}
body.post-type-archive-product .mnsk7-plp-chips--attrs,
body.tax-product_cat .mnsk7-plp-chips--attrs,
body.tax-product_tag .mnsk7-plp-chips--attrs {
  margin-top: 0;
  margin-bottom: var(--archive-gap-filter-rows);
}
body.post-type-archive-product .mnsk7-plp-chips--attrs + .mnsk7-plp-chips--attrs,
body.tax-product_cat .mnsk7-plp-chips--attrs + .mnsk7-plp-chips--attrs,
body.tax-product_tag .mnsk7-plp-chips--attrs + .mnsk7-plp-chips--attrs {
  margin-top: 0;
}
body.post-type-archive-product .mnsk7-plp-filters-toggle-wrap,
body.tax-product_cat .mnsk7-plp-filters-toggle-wrap,
body.tax-product_tag .mnsk7-plp-filters-toggle-wrap {
  margin-top: 0;
  margin-bottom: var(--archive-gap-filter-rows);
}
body.post-type-archive-product .mnsk7-plp-selected,
body.tax-product_cat .mnsk7-plp-selected,
body.tax-product_tag .mnsk7-plp-selected {
  margin-bottom: var(--archive-gap-filter-rows);
}
body.post-type-archive-product .mnsk7-plp-search,
body.tax-product_cat .mnsk7-plp-search,
body.tax-product_tag .mnsk7-plp-search {
  margin-top: var(--archive-gap-filters-results);
  margin-bottom: var(--archive-after-search);
}
body.post-type-archive-product .mnsk7-plp-search--priority,
body.tax-product_cat .mnsk7-plp-search--priority,
body.tax-product_tag .mnsk7-plp-search--priority {
  margin-top: 0;
  margin-bottom: 0.2rem;
}
body.post-type-archive-product .mnsk7-plp-search--priority + .mnsk7-plp-empty,
body.tax-product_cat .mnsk7-plp-search--priority + .mnsk7-plp-empty,
body.tax-product_tag .mnsk7-plp-search--priority + .mnsk7-plp-empty {
  margin-top: 0;
}
body.post-type-archive-product .mnsk7-plp-row-search-toolbar,
body.tax-product_cat .mnsk7-plp-row-search-toolbar,
body.tax-product_tag .mnsk7-plp-row-search-toolbar {
  margin-top: var(--archive-gap-filters-results);
  margin-bottom: var(--archive-after-search);
}
body.post-type-archive-product .mnsk7-plp-row-search-toolbar .mnsk7-plp-search,
body.tax-product_cat .mnsk7-plp-row-search-toolbar .mnsk7-plp-search,
body.tax-product_tag .mnsk7-plp-row-search-toolbar .mnsk7-plp-search {
  margin-top: 0;
  margin-bottom: 0;
}
body.post-type-archive-product .mnsk7-plp-trust-wrap,
body.tax-product_cat .mnsk7-plp-trust-wrap,
body.tax-product_tag .mnsk7-plp-trust-wrap {
  margin-bottom: var(--archive-after-trust);
}
body.post-type-archive-product .mnsk7-product-table-wrap,
body.tax-product_cat .mnsk7-product-table-wrap,
body.tax-product_tag .mnsk7-product-table-wrap {
  margin-bottom: var(--archive-after-table);
}

/* Desktop: mniejsze boczne odstĂ„â„˘py na kategoria/tag (spÄ‚Ĺ‚jnie z mobile) */
@media (min-width: 769px) {
  body.tax-product_cat #content,
  body.tax-product_cat .mnsk7-content,
  body.tax-product_tag #content,
  body.tax-product_tag .mnsk7-content {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}

@media (max-width: 768px) {
  body.post-type-archive-product .mnsk7-plp-content,
  body.tax-product_cat .mnsk7-plp-content,
  body.tax-product_tag .mnsk7-plp-content {
    display: flex;
    flex-direction: column;
  }
  body.post-type-archive-product,
  body.tax-product_cat,
  body.tax-product_tag {
    --archive-gap-page-top: 0.15rem;
    --archive-gap-breadcrumbs-title: 0.375rem;
    --archive-gap-title-chips: 0.35rem;
    --archive-gap-chips-filters: 0.45rem;
    --archive-gap-filter-rows: 0.375rem;
    --archive-gap-filters-results: 0.35rem;
    --archive-inner-breadcrumb: 0.25rem;
    --archive-after-search: 0.15rem;
    --archive-after-trust: 0.45rem;
    --archive-after-table: 0.75rem;
  }
  /* Kategoria/tag: minimalne boczne odstĂ„â„˘py; kontekst od Ă˘â‚¬ĹľFĂ˘â‚¬ĹĄ (wyrÄ‚Ĺ‚wnanie z tytuÄąâ€šem) */
  body.tax-product_cat #content,
  body.tax-product_cat .mnsk7-content,
  body.tax-product_tag #content,
  body.tax-product_tag .mnsk7-content {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
  body.post-type-archive-product .mnsk7-breadcrumb-wrap,
  body.tax-product_cat .mnsk7-breadcrumb-wrap,
  body.tax-product_tag .mnsk7-breadcrumb-wrap {
    display: block;
    padding-top: 0.2rem;
    padding-bottom: 0.2rem;
    margin-bottom: 0.35rem;
  }
  body.post-type-archive-product .woocommerce-breadcrumb,
  body.tax-product_cat .woocommerce-breadcrumb,
  body.tax-product_tag .woocommerce-breadcrumb {
    display: flex;
    font-size: 0.78rem;
    line-height: 1.35;
  }
  /* Chips: bez dodatkowego wciĂ„â„˘cia Ă˘â‚¬â€ť Rodzaje frezÄ‚Ĺ‚w i chipy startujĂ„â€¦ pod Ă˘â‚¬ĹľFĂ˘â‚¬ĹĄ w tytule */
  body.tax-product_cat .mnsk7-plp-chips__scroll,
  body.tax-product_tag .mnsk7-plp-chips__scroll {
    padding-inline: 0 1rem;
    margin-inline: 0;
    scroll-padding-inline: 0 1rem;
  }
  body.tax-product_cat .mnsk7-plp-search,
  body.tax-product_tag .mnsk7-plp-search,
  body.tax-product_cat .mnsk7-plp-trust-wrap,
  body.tax-product_tag .mnsk7-plp-trust-wrap {
    margin-left: 0;
    margin-right: 0;
  }
  body.post-type-archive-product:not(.tax-product_cat):not(.tax-product_tag) {
    --archive-gap-page-top: 0.375rem;
    --archive-gap-title-chips: 0.625rem;
    --archive-gap-chips-filters: 0.625rem;
    --archive-gap-filters-results: 0.5rem;
    --archive-after-search: 0.15rem;
    --archive-after-trust: 0.625rem;
  }
  body.post-type-archive-product:not(.tax-product_cat):not(.tax-product_tag) #content,
  body.post-type-archive-product:not(.tax-product_cat):not(.tax-product_tag) .mnsk7-content {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
  body.post-type-archive-product:not(.tax-product_cat):not(.tax-product_tag) .woocommerce-products-header {
    margin-bottom: 0.5rem;
  }
  .mnsk7-archive-context {
    margin-bottom: 0.125rem;
    font-size: 0.6875rem;
    letter-spacing: 0.09em;
  }
}

/* Strefa wysyÄąâ€ški: w treÄąâ€şci nie pokazujemy (przenoszone do footera przez JS), ÄąÄ˝eby nie zsuwaÄąâ€šo strony */
body.post-type-archive-product .mnsk7-plp-toolbar .woocommerce-info,
body.tax-product_cat .mnsk7-plp-toolbar .woocommerce-info,
body.tax-product_tag .mnsk7-plp-toolbar .woocommerce-info {
  display: none;
}

/* Toolbar: sortowanie + (opcjonalnie wynikÄ‚Ĺ‚w) + paginacja Ă˘â‚¬â€ť ten sam styl u gÄ‚Ĺ‚ry i u doÄąâ€šu */
.mnsk7-plp-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-16);
  margin-bottom: var(--space-16);
}
/* U gÄ‚Ĺ‚ry i u doÄąâ€šu: wynikÄ‚Ĺ‚w + sortowanie + paginacja w jednej linii */
body.woocommerce .mnsk7-plp-toolbar--top .woocommerce-result-count,
body.woocommerce .mnsk7-plp-toolbar--bottom .woocommerce-result-count {
  display: block;
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  flex: 0 0 auto;
}
body.woocommerce .mnsk7-plp-toolbar:not(.mnsk7-plp-toolbar--top):not(.mnsk7-plp-toolbar--bottom) .woocommerce-result-count {
  display: none;
}
.mnsk7-plp-toolbar .woocommerce-ordering {
  margin: 0;
}
.mnsk7-plp-toolbar--bottom {
  margin-top: 0.875rem;
  margin-bottom: 0;
  margin-left: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  padding-top: 0.875rem;
  border-top: 1px solid var(--color-border);
  width: 100%;
  box-sizing: border-box;
}
.mnsk7-plp-toolbar--bottom > * {
  min-width: 0;
}
.mnsk7-plp-toolbar--bottom .woocommerce-result-count {
  align-self: center;
  order: 1;
}
.mnsk7-plp-toolbar--bottom .woocommerce-ordering {
  margin-left: 0;
  order: 2;
  min-width: 12rem;
}
.mnsk7-plp-toolbar .woocommerce-pagination {
  margin: 0;
  margin-left: auto;
}
.mnsk7-plp-toolbar--bottom .woocommerce-pagination {
  margin-left: auto;
  flex-shrink: 0;
  justify-self: end;
  order: 3;
}
.mnsk7-plp-toolbar--bottom .woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.mnsk7-plp-toolbar--bottom .woocommerce-pagination ul li {
  margin: 0;
}
.mnsk7-plp-toolbar--bottom .woocommerce-pagination a,
.mnsk7-plp-toolbar--bottom .woocommerce-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.25rem;
  min-height: 2.25rem;
  padding: 0.35rem 0.5rem;
  font-size: var(--fs-sm);
  font-weight: 500;
  text-decoration: none;
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  background: var(--color-surface);
  color: var(--color-text);
}
.mnsk7-plp-toolbar--bottom .woocommerce-pagination a:hover {
  background: var(--color-surface-2);
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.mnsk7-plp-toolbar--bottom .woocommerce-pagination span.current {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}
.mnsk7-plp-toolbar .woocommerce-ordering .orderby {
  padding: 0.4rem 2rem 0.4rem 0.5rem;
  font-size: var(--fs-sm);
  font-family: var(--font-base);
  color: var(--color-text);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--r-sm);
  cursor: pointer;
  min-height: 48px;
}
.mnsk7-plp-toolbar .woocommerce-ordering .orderby:focus {
  outline: 2px solid var(--color-primary);
  outline-offset: 0;
  border-color: var(--color-primary);
}
@media (max-width: 480px) {
  /* Strip nad tabelą: zostaje jedna linija — nie kolumna jak dolny toolbar */
  .mnsk7-plp-toolbar-strip > .mnsk7-plp-toolbar.mnsk7-plp-toolbar--top {
    flex-direction: row !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 0.4rem 0.5rem !important;
  }
  .mnsk7-plp-toolbar {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
  .mnsk7-plp-toolbar .woocommerce-ordering {
    margin-left: 0;
  }
  .mnsk7-plp-toolbar--bottom {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding-top: 0.75rem;
  }
  .mnsk7-plp-toolbar--bottom .woocommerce-pagination {
    margin-left: 0;
    width: 100%;
    justify-self: auto;
  }
  .mnsk7-plp-toolbar--bottom .woocommerce-pagination ul {
    gap: 0.35rem;
  }
  .mnsk7-plp-toolbar--bottom .woocommerce-pagination a,
  .mnsk7-plp-toolbar--bottom .woocommerce-pagination span {
    min-width: 2rem;
    min-height: 2rem;
    padding: 0.3rem 0.45rem;
    font-size: var(--fs-xs);
  }
}

/* Archiwum: gÄąâ€šÄ‚Ĺ‚wna kolumna Ă˘â‚¬â€ť dual-support #content/#primary i .mnsk7-* (Task 4). */
body.post-type-archive-product #content #primary,
body.post-type-archive-product #content > main,
body.post-type-archive-product .mnsk7-content .mnsk7-content-area,
body.post-type-archive-product .mnsk7-content > main.mnsk7-main,
body.tax-product_cat #content #primary,
body.tax-product_cat #content > main,
body.tax-product_cat .mnsk7-content .mnsk7-content-area,
body.tax-product_cat .mnsk7-content > main.mnsk7-main,
body.tax-product_tag #content #primary,
body.tax-product_tag #content > main,
body.tax-product_tag .mnsk7-content .mnsk7-content-area,
body.tax-product_tag .mnsk7-content > main.mnsk7-main {
  flex: 1 1 100%;
  width: 100%;
  min-width: 0;
  padding-top: 0;
}
/* .mnsk7-content-area / .mnsk7-main peÄąâ€šna szerokoÄąâ€şĂ„â€ˇ */
body.post-type-archive-product #content #primary .site-main,
body.post-type-archive-product #content > main,
body.post-type-archive-product .mnsk7-content .mnsk7-content-area .site-main,
body.post-type-archive-product .mnsk7-content > main.mnsk7-main,
body.tax-product_cat #content #primary .site-main,
body.tax-product_cat #content > main,
body.tax-product_cat .mnsk7-content .mnsk7-content-area .site-main,
body.tax-product_cat .mnsk7-content > main.mnsk7-main,
body.tax-product_tag #content #primary .site-main,
body.tax-product_tag #content > main,
body.tax-product_tag .mnsk7-content .mnsk7-content-area .site-main,
body.tax-product_tag .mnsk7-content > main.mnsk7-main {
  width: 100%;
}
body.post-type-archive-product #content .woocommerce-sidebar,
body.tax-product_cat #content .woocommerce-sidebar,
body.tax-product_tag #content .woocommerce-sidebar,
body.post-type-archive-product .mnsk7-content .woocommerce-sidebar,
body.tax-product_cat .mnsk7-content .woocommerce-sidebar,
body.tax-product_tag .mnsk7-content .woocommerce-sidebar {
  display: none !important;
}
body.post-type-archive-product .wpf-filters,
body.tax-product_cat .wpf-filters,
body.tax-product_tag .wpf-filters,
body.post-type-archive-product .mnsk7-catalog-filters,
body.tax-product_cat .mnsk7-catalog-filters,
body.tax-product_tag .mnsk7-catalog-filters {
  display: none !important;
}

/* Jedna szerokoÄąâ€şĂ„â€ˇ dla caÄąâ€šego bloku: chips + wyszukiwarka + tabela (bez rozjeÄąÄ˝dÄąÄ˝ania) */
.mnsk7-plp-content {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.mnsk7-plp-content .mnsk7-plp-chips,
.mnsk7-plp-content .mnsk7-plp-selected,
.mnsk7-plp-content .mnsk7-plp-trust-wrap,
.mnsk7-plp-content .mnsk7-plp-search,
.mnsk7-plp-content .mnsk7-archive-context,
.mnsk7-plp-content .mnsk7-product-table-wrap,
.mnsk7-plp-content .mnsk7-plp-grid-mobile {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.mnsk7-archive-context {
  margin: 0 0 0.15rem;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--color-text-muted, #666);
}

body.post-type-archive-product .mnsk7-archive-context {
  color: var(--color-primary);
}

body.tax-product_tag .mnsk7-archive-context {
  color: #8a5600;
}

/* Archive wrappers inherit page gutters from #content; nested col-full padding creates false side stripes. */
body.post-type-archive-product .mnsk7-plp-archive-wrap.col-full,
body.post-type-archive-product .mnsk7-plp-content.col-full,
body.tax-product_cat .mnsk7-plp-archive-wrap.col-full,
body.tax-product_cat .mnsk7-plp-content.col-full,
body.tax-product_tag .mnsk7-plp-archive-wrap.col-full,
body.tax-product_tag .mnsk7-plp-content.col-full {
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
}

body.post-type-archive-product .mnsk7-plp-content > .col-full,
body.tax-product_cat .mnsk7-plp-content > .col-full,
body.tax-product_tag .mnsk7-plp-content > .col-full {
  padding-left: 0;
  padding-right: 0;
}

/* Scroll target: gÄ‚Ĺ‚rna granica strefy wynikÄ‚Ĺ‚w (chips + search + USP). scroll-margin dla sticky header. */
.mnsk7-plp-results-anchor {
  display: block;
  height: 0;
  overflow: visible;
  pointer-events: none;
  scroll-margin-top: var(--header-h, 52px);
}

/* Chips row (subcategories / filters) Ă˘â‚¬â€ť odstĂ„â„˘p od tytuÄąâ€šu Sklep, spÄ‚Ĺ‚jny rytm; UX: min 44px touch */
.mnsk7-plp-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0;
  margin-bottom: 0.45rem;
  width: 100%;
  box-sizing: border-box;
}
.mnsk7-plp-chips:first-of-type {
  margin-top: 0.1rem;
  margin-bottom: 0.45rem;
}

/* Mobile: swipe row pattern Ă˘â‚¬â€ť scrollbar ukryty, scroll-snap, fade hint, label+row w jednym bloku. */
@media (max-width: 768px) {
  .mnsk7-plp-dropdown {
    width: 100%;
    margin: 0 0 0.55rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 14px;
    background: var(--color-white);
    box-sizing: border-box;
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
    overflow: hidden;
  }
  .mnsk7-plp-dropdown--active {
    border-color: rgba(11, 116, 201, 0.38);
    box-shadow: 0 10px 24px rgba(11, 116, 201, 0.12);
  }
  .mnsk7-plp-dropdown__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    width: 100%;
    min-height: 54px;
    padding: 0.78rem 0.82rem 0.78rem 0.92rem;
    margin: 0;
    font-size: var(--fs-sm);
    font-weight: 700;
    color: var(--color-text);
    list-style: none;
    cursor: pointer;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  }
  .mnsk7-plp-dropdown__summary::-webkit-details-marker {
    display: none;
  }
  .mnsk7-plp-dropdown__summary:focus {
    outline: none;
  }
  .mnsk7-plp-dropdown__summary:focus-visible {
    outline: 2px solid var(--color-focus, var(--color-primary));
    outline-offset: -2px;
  }
  .mnsk7-plp-dropdown__summary::after {
    content: "+";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.1rem;
    height: 2.1rem;
    border-radius: var(--r-pill);
    background: var(--color-primary);
    color: var(--color-white);
    font-size: 1.05rem;
    font-weight: 800;
    line-height: 1;
    flex-shrink: 0;
    box-shadow: 0 8px 18px rgba(11, 116, 201, 0.22);
    transition: transform 0.16s ease, background 0.16s ease;
  }
  .mnsk7-plp-dropdown[open] .mnsk7-plp-dropdown__summary::after {
    content: "-";
    background: var(--color-primary-pressed, var(--color-primary));
  }
  .mnsk7-plp-dropdown__panel {
    padding: 0.75rem;
    box-sizing: border-box;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chips {
    margin: 0;
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chips__label {
    display: none;
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chips__scroll {
    width: 100%;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    overflow: visible;
    scroll-snap-type: none;
    -webkit-mask-image: none;
    mask-image: none;
  }
  .mnsk7-plp-dropdown__summary-main {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
  }
  .mnsk7-plp-dropdown__summary-title {
    display: block;
    width: 100%;
    font-size: 0.96rem;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .mnsk7-plp-dropdown__summary-meta {
    display: block;
    max-width: 100%;
    margin-top: 0.14rem;
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1.25;
    letter-spacing: 0;
    text-transform: none;
    color: var(--color-text-muted, #666);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .mnsk7-plp-dropdown--active .mnsk7-plp-dropdown__summary {
    background: linear-gradient(180deg, rgba(11, 116, 201, 0.08) 0%, #ffffff 100%);
  }
  .mnsk7-plp-dropdown--active .mnsk7-plp-dropdown__summary-title,
  .mnsk7-plp-dropdown--active .mnsk7-plp-dropdown__summary-meta {
    color: var(--color-primary-dark, #0a5a9e);
  }
  .mnsk7-plp-dropdown--nav .mnsk7-plp-chips__scroll {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.48rem;
  }
  .mnsk7-plp-dropdown--attrs .mnsk7-plp-chips__scroll {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 44px;
    padding: 0.64rem 0.72rem;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 10px;
    background: var(--color-white);
    color: var(--color-text);
    box-shadow: none;
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.22;
    text-align: center;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
    scroll-snap-align: none;
    box-sizing: border-box;
  }
  .mnsk7-plp-dropdown--nav .mnsk7-plp-chip {
    justify-content: flex-start;
    text-align: left;
    padding-inline: 0.82rem;
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chip:hover {
    border-color: rgba(11, 116, 201, 0.32);
    background: rgba(11, 116, 201, 0.06);
    color: var(--color-primary-dark, #0a5a9e);
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chip:focus {
    outline: none;
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chip:focus-visible {
    outline: 2px solid var(--color-focus, var(--color-primary));
    outline-offset: 2px;
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chip--active,
  .mnsk7-plp-dropdown .mnsk7-plp-chip[aria-current="page"] {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-white);
    box-shadow: 0 8px 18px rgba(11, 116, 201, 0.18);
  }
  .mnsk7-plp-dropdown .mnsk7-plp-chip--active:hover,
  .mnsk7-plp-dropdown .mnsk7-plp-chip[aria-current="page"]:hover {
    background: var(--color-primary-hover, var(--color-primary));
    border-color: var(--color-primary-hover, var(--color-primary));
    color: var(--color-white);
  }
  body:has(.mnsk7-plp-dropdown[open]) {
    overflow: hidden;
  }
  .mnsk7-plp-dropdown[open]::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 10000;
    background: rgba(15, 23, 42, 0.46);
    backdrop-filter: blur(2px);
  }
  .mnsk7-plp-dropdown__panel {
    position: fixed;
    left: max(0.75rem, env(safe-area-inset-left));
    right: max(0.75rem, env(safe-area-inset-right));
    bottom: max(0.75rem, env(safe-area-inset-bottom));
    z-index: 10001;
    max-height: min(72vh, 34rem);
    overflow-y: auto;
    overscroll-behavior: contain;
    border: 1px solid rgba(15, 23, 42, 0.1);
    border-radius: 18px;
    box-shadow: 0 24px 64px rgba(15, 23, 42, 0.28);
  }
  .mnsk7-plp-dropdown__panel-head {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: -0.75rem -0.75rem 0.75rem;
    padding: 0.82rem 0.82rem 0.76rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(8px);
  }
  .mnsk7-plp-dropdown__panel-title {
    min-width: 0;
    color: var(--color-text);
    font-size: 0.98rem;
    font-weight: 800;
    line-height: 1.2;
    overflow-wrap: anywhere;
  }
  .mnsk7-plp-dropdown__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    min-height: 40px;
    padding: 0.45rem 0.7rem;
    border: 1px solid rgba(15, 23, 42, 0.12);
    border-radius: var(--r-pill);
    background: var(--color-white);
    color: var(--color-text);
    font: inherit;
    font-size: 0.78rem;
    font-weight: 800;
    cursor: pointer;
    box-shadow: 0 4px 14px rgba(15, 23, 42, 0.08);
  }
  .mnsk7-plp-dropdown__close:focus-visible {
    outline: 2px solid var(--color-focus, var(--color-primary));
    outline-offset: 2px;
  }
}

@media (max-width: 360px) {
  .mnsk7-plp-dropdown--attrs .mnsk7-plp-chips__scroll {
    grid-template-columns: minmax(0, 1fr);
  }
  .mnsk7-plp-dropdown__summary {
    padding-left: 0.78rem;
    padding-right: 0.7rem;
  }
  .mnsk7-plp-dropdown__summary::after {
    width: 1.9rem;
    height: 1.9rem;
  }
}

/* Fallback tree-style details (e.g. plugin filter trees on PLP) */
@media (max-width: 768px) {
  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown),
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown),
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) {
    margin: 0.45rem 0;
    padding: 0.28rem 0.72rem;
    border: 1px solid var(--color-border, #d8dee8);
    border-radius: var(--r-md, 14px);
    background: var(--color-white, #fff);
    box-shadow: 0 2px 10px rgba(12, 125, 219, 0.06);
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) details:not(.mnsk7-plp-dropdown),
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) details:not(.mnsk7-plp-dropdown),
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) details:not(.mnsk7-plp-dropdown) {
    margin: 0.34rem 0 0.34rem 0.42rem;
    padding: 0.2rem 0.62rem;
    border-color: rgba(12, 125, 219, 0.16);
    background: rgba(12, 125, 219, 0.03);
    box-shadow: none;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details[open]:not(.mnsk7-plp-dropdown),
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details[open]:not(.mnsk7-plp-dropdown),
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details[open]:not(.mnsk7-plp-dropdown) {
    border-color: rgba(12, 125, 219, 0.34);
    background: linear-gradient(180deg, rgba(12, 125, 219, 0.05) 0%, rgba(12, 125, 219, 0.015) 100%);
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary),
  body.tax-product_cat :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary),
  body.tax-product_tag :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary) {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    min-height: 44px;
    padding: 0.2rem 0;
    font-size: var(--fs-base, 1rem);
    font-weight: 650;
    color: var(--color-text, #111827);
    cursor: pointer;
    list-style: none;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary)::-webkit-details-marker,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary)::-webkit-details-marker,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary)::-webkit-details-marker {
    display: none;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary)::before,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary)::before,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) summary:not(.mnsk7-plp-dropdown__summary)::before {
    content: "";
    width: 0.65rem;
    height: 0.65rem;
    border-right: 2px solid var(--color-primary, #0c7ddb);
    border-bottom: 2px solid var(--color-primary, #0c7ddb);
    transform: rotate(-45deg);
    transform-origin: 50% 55%;
    transition: transform 0.18s ease;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details[open]:not(.mnsk7-plp-dropdown) > summary:not(.mnsk7-plp-dropdown__summary)::before,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details[open]:not(.mnsk7-plp-dropdown) > summary:not(.mnsk7-plp-dropdown__summary)::before,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details[open]:not(.mnsk7-plp-dropdown) > summary:not(.mnsk7-plp-dropdown__summary)::before {
    transform: rotate(45deg);
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) > *:not(summary),
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) > *:not(summary),
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) > *:not(summary) {
    margin-left: 0.48rem;
    padding-bottom: 0.28rem;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) ul,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) ul,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) ul {
    margin: 0.12rem 0 0.18rem;
    padding: 0;
    list-style: none;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) li,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) li,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) li {
    margin: 0.2rem 0;
    padding: 0;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
    padding: 0.16rem 0.38rem;
    border-radius: var(--r-pill, 999px);
    color: var(--color-text, #111827);
    font-size: var(--fs-sm, 0.95rem);
    font-weight: 500;
    line-height: 1.35;
    text-decoration: none;
    transition: color 0.15s ease, background-color 0.15s ease;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a:hover,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a:hover,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a:hover {
    color: var(--color-primary, #0c7ddb);
    background: rgba(12, 125, 219, 0.09);
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a:focus-visible,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a:focus-visible,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a:focus-visible {
    outline: 2px solid var(--color-primary, #0c7ddb);
    outline-offset: 2px;
  }

  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) .current-cat > a,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) .current-cat > a,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) .current-cat > a,
  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) .current-menu-item > a,
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) .current-menu-item > a,
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) .current-menu-item > a,
  body.post-type-archive-product :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a[aria-current="page"],
  body.tax-product_cat :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a[aria-current="page"],
  body.tax-product_tag :is(.mnsk7-plp-content, #content) details:not(.mnsk7-plp-dropdown) a[aria-current="page"] {
    color: var(--color-white, #fff);
    background: var(--color-primary, #0c7ddb);
  }
}

  .mnsk7-plp-chips:not(.mnsk7-plp-chips--attrs):not(.mnsk7-plp-chips--nav) {
    flex-wrap: wrap;
    padding-bottom: 0.25rem;
    margin-left: 0;
    margin-right: 0;
    gap: 0.5rem;
    align-items: center;
  }
  .mnsk7-plp-chips--nav,
  .mnsk7-plp-chips--attrs {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.2rem;
    margin-bottom: 0.6rem;
  }
  .mnsk7-plp-chips--nav .mnsk7-plp-chips__label,
  .mnsk7-plp-chips--attrs .mnsk7-plp-chips__label,
  .mnsk7-plp-chips__label {
    flex: 0 0 auto;
    width: 100%;
    padding: 0 0 0.15rem 0;
    margin: 0;
    font-size: var(--fs-sm);
    font-weight: 600;
    color: var(--color-text);
    white-space: normal;
    overflow: visible;
  }
  /* Jedna definicja scroll-row: ukryty scrollbar, snap, fade. Nav i attrs Ă˘â‚¬â€ť jedna linia (swipe), bez zawijania. */
  .mnsk7-plp-chips--nav .mnsk7-plp-chips__scroll,
  .mnsk7-plp-chips--attrs .mnsk7-plp-chips__scroll {
    width: 100%;
    min-width: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.5rem;
    padding: 0.15rem 0;
    padding-inline: 0;
    margin: 0;
    margin-inline: 0;
    overflow: visible;
    scroll-snap-type: none;
    scroll-padding-inline: 0;
    mask-image: none;
    -webkit-mask-image: none;
  }
  .mnsk7-plp-chips--nav .mnsk7-plp-chip,
  .mnsk7-plp-chips--attrs .mnsk7-plp-chip {
    flex-shrink: 0;
    scroll-snap-align: none;
    scroll-snap-stop: normal;
  }
  .mnsk7-plp-chips--attrs .mnsk7-plp-chips__scroll {
    padding-inline-start: 0;
  }
  /* WyczyÄąâ€şĂ„â€ˇ wszystkie + filter search row Ă˘â‚¬â€ť one system, aligned */
  .mnsk7-plp-selected {
    align-items: center;
    gap: 0.5rem;
  }
  .mnsk7-plp-search__form {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
  }
  .mnsk7-plp-search__input {
    flex: 1;
    min-width: 0;
    min-height: 44px;
    box-sizing: border-box;
  }
  .mnsk7-plp-search__submit {
    min-height: 44px;
    flex-shrink: 0;
  }
}

.mnsk7-plp-chip {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 44px;
  min-width: 44px;
  padding: 0.35rem 0.75rem;
  font-size: var(--fs-xs);
  line-height: 1.25;
  font-weight: 500;
  color: var(--color-text);
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  border-radius: var(--r-pill);
  text-decoration: none;
  text-align: left;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  flex-shrink: 0;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}
.mnsk7-plp-chip:visited {
  color: var(--color-text);
}

.mnsk7-plp-chip:hover {
  background: var(--color-surface-2);
  border-color: rgba(15, 23, 42, 0.22);
  color: var(--color-text);
  text-decoration: none;
}
.mnsk7-plp-chip:focus {
  outline: none;
}
.mnsk7-plp-chip:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Wybrane/aktywne chipy Ă˘â‚¬â€ť zawsze czytelny kontrast (ciemne tÄąâ€šo + biaÄąâ€šy tekst) i na poczĂ„â€¦tku rzĂ„â„˘du */
.mnsk7-plp-chip--active {
  background: var(--color-primary, #0c7ddb) !important;
  border-color: var(--color-primary, #0c7ddb) !important;
  color: #fff !important;
  order: -1; /* wybrany chip zawsze na poczĂ„â€¦tku rzĂ„â„˘du (flex order) */
}

.mnsk7-plp-chip--active:hover {
  background: var(--color-primary-hover, #0a6bc2) !important;
  border-color: var(--color-primary-hover, #0a6bc2) !important;
  color: #fff !important;
}

.mnsk7-plp-chips__label {
  font-size: var(--fs-sm);
  font-weight: 600;
  color: var(--color-text);
  margin-right: 0.35rem;
  min-width: 8.5rem;
  align-self: center;
}

/* Na desktop: scroll wrapper zachowuje siĂ„â„˘ jak zwykÄąâ€šy flex-wrap (bez overflow). Na mobile Ă˘â‚¬â€ť nowrap w @media wyÄąÄ˝ej. */
@media (min-width: 769px) {
  .mnsk7-plp-chips__scroll {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
  }
}

/* PLP-07: drugi rzĂ„â€¦d chipÄ‚Ĺ‚w (atrybuty) Ă˘â‚¬â€ť wizualnie drugorzĂ„â„˘dne wzglĂ„â„˘dem kategorii; kaÄąÄ˝dy wiersz z etykietĂ„â€¦ + chipy z zawijaniem */
.mnsk7-plp-chips--attrs {
  margin-top: 0.35rem;
  margin-bottom: 0.35rem;
  width: 100%;
  gap: 0.35rem;
  align-items: center;
}
.mnsk7-plp-chips--attrs + .mnsk7-plp-chips--attrs {
  margin-top: 0.15rem;
}
.mnsk7-plp-chips--attrs .mnsk7-plp-chip {
  font-size: var(--fs-xs);
  background: var(--color-bg-subtle, #f8f8f8);
  border-color: var(--color-border);
}
/* Wybrany chip atrybutu Ă˘â‚¬â€ť zawsze biaÄąâ€šy tekst na primary (kontrast) */
.mnsk7-plp-chips--attrs .mnsk7-plp-chip.mnsk7-plp-chip--active {
  background: var(--color-primary, #0c7ddb) !important;
  border-color: var(--color-primary, #0c7ddb) !important;
  color: #fff !important;
}
.mnsk7-plp-chips--attrs .mnsk7-plp-chip.mnsk7-plp-chip--active:hover {
  background: var(--color-primary-hover, #0a6bc2) !important;
  border-color: var(--color-primary-hover, #0a6bc2) !important;
  color: #fff !important;
}
/* RozwiniĂ„â„˘ty blok Ă˘â‚¬ĹľWiĂ„â„˘cejĂ˘â‚¬ĹĄ: chipy biorĂ„â€¦ udziaÄąâ€š w flexie rodzica; gdy hidden Ă˘â‚¬â€ť nie pokazuj */
.mnsk7-plp-chips-more[hidden] {
  display: none !important;
}
.mnsk7-plp-chips-more:not([hidden]) {
  display: contents;
}

/* Przycisk Ă˘â‚¬ĹľWiĂ„â„˘cejĂ˘â‚¬ĹĄ Ă˘â‚¬â€ť wizualnie odrÄ‚Ĺ‚ÄąÄ˝niony od chipÄ‚Ĺ‚w, czytelny CTA */
.mnsk7-plp-chips-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.4rem 1rem;
  margin-left: 0.25rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: var(--font-base);
  color: var(--color-primary);
  background: transparent;
  border: 2px solid var(--color-primary);
  border-radius: var(--r-md);
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  flex-shrink: 0;
  box-sizing: border-box;
}
.mnsk7-plp-chips-toggle:hover {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}
.mnsk7-plp-chips-toggle:focus {
  outline: none;
}
.mnsk7-plp-chips-toggle:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.mnsk7-plp-chips-toggle[aria-expanded="true"] {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary);
}

/* Blok Ă˘â‚¬ĹľWiĂ„â„˘cej filtrÄ‚Ĺ‚wĂ˘â‚¬ĹĄ Ă˘â‚¬â€ť dodatkowe wiersze atrybutÄ‚Ĺ‚w (ÄąĹˇrednica, KĂ„â€¦t skosuĂ˘â‚¬Â¦) */
.mnsk7-plp-filters-toggle-wrap {
  margin-top: 0.25rem;
  margin-bottom: 0.5rem;
}
.mnsk7-plp-filters-more[hidden] {
  display: none !important;
}
.mnsk7-plp-filters-more {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  margin-top: 0.25rem;
}
.mnsk7-plp-filters-more:not([hidden]) {
  display: flex;
}

/* Opakowanie PLP: empty state nad chipsami (order:-1) */
.mnsk7-plp-archive-wrap {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.mnsk7-plp-archive-wrap > .mnsk7-plp-empty {
  order: -1;
}

/* Wybrane filtry + przycisk WyczyÄąâ€şĂ„â€ˇ wszystkie (UX audit) Ă˘â‚¬â€ť jako przycisk */
.mnsk7-plp-selected {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin-bottom: 1rem;
  font-size: var(--fs-sm);
  width: 100%;
  box-sizing: border-box;
}
.mnsk7-plp-selected__label {
  font-weight: 600;
  color: var(--color-text-secondary);
  margin-right: 0.25rem;
  order: -2;
}
.mnsk7-plp-selected .mnsk7-plp-chip {
  order: 0;
}
.mnsk7-plp-reset.button {
  order: 1;
}
/* Chipy Ă˘â‚¬ĹľWybraneĂ˘â‚¬ĹĄ (85 mm Ä‚â€”, 8 mm Ä‚â€”Ă˘â‚¬Â¦) Ă˘â‚¬â€ť zawsze czytelne: biaÄąâ€šy tekst na primary */
.mnsk7-plp-selected .mnsk7-plp-chip.mnsk7-plp-chip--remove {
  background: var(--color-primary, #0c7ddb) !important;
  border-color: var(--color-primary, #0c7ddb) !important;
  color: #fff !important;
}
.mnsk7-plp-selected .mnsk7-plp-chip.mnsk7-plp-chip--remove:hover {
  background: var(--color-primary-hover, #0a6bc2) !important;
  border-color: var(--color-primary-hover, #0a6bc2) !important;
  color: #fff !important;
  opacity: 0.95;
}
.mnsk7-plp-reset.button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0.5rem 1.25rem;
  margin-left: 0.5rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: var(--font-base);
  color: var(--color-white);
  background: var(--color-primary);
  border: none;
  border-radius: var(--r-md);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease;
  box-sizing: border-box;
}
.mnsk7-plp-reset.button:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
  text-decoration: none;
}
.mnsk7-plp-reset.button:focus {
  outline: none;
}
.mnsk7-plp-reset.button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

/* Toolbar nad tabelą PLP — jedna linia, zwarte (wyniki + sortowanie) */
.mnsk7-plp-toolbar-strip {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: stretch;
  gap: 0.5rem 0.65rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin-bottom: 0.65rem;
}
.mnsk7-plp-toolbar-strip .mnsk7-plp-toolbar--top {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem 0.6rem;
  flex: 1 1 auto;
  margin: 0;
  min-width: 0;
  width: 100%;
}
.mnsk7-plp-toolbar-strip .mnsk7-plp-toolbar__count {
  flex: 1 1 auto;
  min-width: 0;
}
body.woocommerce .mnsk7-plp-toolbar-strip .woocommerce-result-count {
  font-size: var(--fs-xs);
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mnsk7-plp-toolbar-strip .woocommerce-ordering {
  flex: 0 1 auto;
  margin: 0;
  min-width: 0;
  max-width: min(52%, 13.5rem);
}
.mnsk7-plp-toolbar-strip .woocommerce-ordering .orderby {
  width: 100%;
  max-width: 100%;
  min-height: 34px;
  padding: 0.2rem 1.5rem 0.2rem 0.4rem;
  font-size: var(--fs-xs);
  box-sizing: border-box;
}

/* FB-05: search over table. Row: search + toolbar (wyniki, sortowanie, paginacja) w jednej linii, ten sam styl. */
.mnsk7-plp-row-search-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.mnsk7-plp-row-search-toolbar .mnsk7-plp-search {
  flex: 1 1 auto;
  min-width: 0;
  margin-bottom: 0;
}
.mnsk7-plp-row-search-toolbar .mnsk7-plp-toolbar--top {
  margin: 0;
  margin-bottom: 0;
  flex: 0 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-16);
  font-size: var(--fs-sm);
  justify-content: flex-end;
}
.mnsk7-plp-toolbar__count,
.mnsk7-plp-toolbar__count p,
.mnsk7-plp-toolbar__count span {
  margin: 0;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  white-space: nowrap;
}
.mnsk7-plp-row-search-toolbar .woocommerce-ordering {
  display: flex;
  align-items: center;
  margin: 0;
}
.mnsk7-plp-search {
  margin-bottom: 1rem;
}
.mnsk7-plp-search--priority {
  position: relative;
  z-index: 2;
}
.mnsk7-plp-search__form {
  display: flex;
  align-items: stretch;
  flex-wrap: nowrap;
  gap: 0;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.mnsk7-plp-search__form.mnsk7-header__search-form {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
}
.mnsk7-plp-search__input {
  flex: 1;
  min-width: 0;
  padding: 0.5rem 0.75rem;
  font-size: var(--fs-base);
  font-family: var(--font-base);
  border: none;
  border-radius: var(--r-sm) 0 0 var(--r-sm) !important;
  background: var(--color-white);
  box-sizing: border-box;
  appearance: none;
}
.mnsk7-plp-search__form .mnsk7-header__search-input,
.mnsk7-plp-search__form .mnsk7-plp-search__input {
  min-height: 44px;
  border-right: none;
  border-radius: var(--r-sm) 0 0 var(--r-sm) !important;
}
.mnsk7-plp-search__input:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: none; /* bez fioletowego glow z przeglĂ„â€¦darki */
}
.mnsk7-plp-search__input:focus-visible {
  outline: none;
}
.mnsk7-plp-search__form:focus-within .mnsk7-plp-search__input,
.mnsk7-plp-search__form:focus-within .mnsk7-plp-search__submit {
  border-color: var(--color-primary);
}
.mnsk7-plp-search__submit {
  padding: 0.5rem 1.25rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: var(--font-base);
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
  cursor: pointer;
  min-height: 44px;
  box-sizing: border-box;
  flex-shrink: 0;
  white-space: nowrap;
  appearance: none;
}
.mnsk7-plp-search__form .mnsk7-header__search-submit,
.mnsk7-plp-search__form .mnsk7-plp-search__submit {
  min-height: 44px;
  border-left: none;
  border-radius: 0 var(--r-sm) var(--r-sm) 0 !important;
}
.mnsk7-plp-search__submit:hover {
  background: var(--color-primary-hover);
  border-color: var(--color-primary-hover);
}

.mnsk7-plp-no-results {
  margin: var(--space-16) 0;
  font-size: var(--fs-sm);
}
.mnsk7-plp-no-results a {
  font-weight: 600;
}

/* PLP-11: empty state Ă˘â‚¬â€ť nad chipsami (order:-1 w .mnsk7-plp-archive-wrap), spÄ‚Ĺ‚jny przycisk */
.mnsk7-plp-empty {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  text-align: center;
  padding: 2.5rem 1.5rem;
  margin: 0 0 1.5rem;
  background: var(--color-surface, #f5f5f5);
  border-radius: var(--r-md, 8px);
  border: 1px dashed var(--color-border, #ddd);
}
.mnsk7-plp-empty__text {
  margin: 0 0 0.5rem;
  font-size: var(--fs-base);
  font-weight: 600;
  color: var(--color-text);
  line-height: 1.4;
}
.mnsk7-plp-empty__hint {
  margin: 0 0 1.25rem;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  line-height: 1.4;
}
.mnsk7-plp-empty__hint:last-of-type {
  margin-bottom: 1.25rem;
}
.mnsk7-plp-empty__cta.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.625rem 1.5rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: var(--font-base);
  color: var(--color-white);
  background: var(--color-primary);
  border: none;
  border-radius: var(--r-md);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.15s ease;
  box-sizing: border-box;
}
.mnsk7-plp-empty__cta.button:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
  text-decoration: none;
}
.mnsk7-plp-empty__cta.button:focus {
  outline: none;
}
.mnsk7-plp-empty__cta.button:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
/* Na archiwum: ukryĂ„â€ˇ ewentualny drugi notice Woo (gdy juÄąÄ˝ pokazujemy wÄąâ€šasny empty) */
body.post-type-archive-product .woocommerce-no-products-found:not(.mnsk7-plp-empty),
body.tax-product_cat .woocommerce-no-products-found:not(.mnsk7-plp-empty),
body.tax-product_tag .woocommerce-no-products-found:not(.mnsk7-plp-empty) {
  margin-top: 0;
}

/* PLP-12: link Ă˘â‚¬ĹľWyczyÄąâ€şĂ„â€ˇ wyszukiwanie" na stronie wynikÄ‚Ĺ‚w */
.mnsk7-plp-search-clear {
  margin: 0 0 0.75rem;
  font-size: var(--fs-sm);
}
.mnsk7-plp-search-clear__link {
  color: var(--color-primary);
  font-weight: 600;
  text-decoration: none;
}
.mnsk7-plp-search-clear__link:hover {
  text-decoration: underline;
}

/* Trust badges przy tabeli (jak w kartce: Dostawa jutro, Faktura VAT, dostawa 300 zÄąâ€š, Zwroty 30 dni) */
.mnsk7-plp-trust-wrap {
  margin-bottom: 0.6rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
/* Nadpisanie ewentualnych stylÄ‚Ĺ‚w [role="list"] z normalizacji / a11y */
.mnsk7-plp-trust-wrap [role="list"].mnsk7-plp-trust {
  display: flex !important;
}
/* WyÄąÄ˝sza specyficznoÄąâ€şĂ„â€ˇ na archiwum (sklep/kategoria/tag), ÄąÄ˝eby wygraĂ„â€ˇ z .woocommerce div / Storefront */
body.post-type-archive-product .mnsk7-plp-trust-wrap .mnsk7-plp-trust,
body.tax-product_cat .mnsk7-plp-trust-wrap .mnsk7-plp-trust,
body.tax-product_tag .mnsk7-plp-trust-wrap .mnsk7-plp-trust,
.mnsk7-plp-trust-wrap .mnsk7-plp-trust {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0.75rem 1.25rem !important;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.mnsk7-plp-trust,
.mnsk7-pdp-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.25rem;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
  list-style: none;
  margin: 0;
  padding: 0;
}
body.post-type-archive-product .mnsk7-plp-trust-wrap .mnsk7-plp-trust__item,
body.tax-product_cat .mnsk7-plp-trust-wrap .mnsk7-plp-trust__item,
body.tax-product_tag .mnsk7-plp-trust-wrap .mnsk7-plp-trust__item,
.mnsk7-plp-trust-wrap .mnsk7-plp-trust__item {
  display: inline-flex !important;
  align-items: center;
  gap: 0.35rem;
  margin-right: 1.25rem !important;
  margin-inline-end: 1.25rem !important;
  margin-left: 0 !important;
  margin-inline-start: 0 !important;
  white-space: nowrap;
}
.mnsk7-plp-trust-wrap .mnsk7-plp-trust__item:last-child {
  margin-right: 0 !important;
  margin-inline-end: 0 !important;
}
/* Separator miĂ„â„˘dzy badgeĂ˘â‚¬â„˘ami, gdy gap nie dziaÄąâ€ša (fallback) */
.mnsk7-plp-trust-wrap .mnsk7-plp-trust__item:not(:last-child)::after {
  content: none;
}
.mnsk7-plp-trust__item,
.mnsk7-pdp-trust__item {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.35rem;
  font-family: var(--font-base);
  line-height: 1.35;
  letter-spacing: normal;
}
.mnsk7-plp-trust__item::before,
.mnsk7-pdp-trust__item::before {
  content: "";
  display: inline-block;
  width: 0.5rem;
  height: 0.5rem;
  min-width: 0.5rem;
  margin-top: 0.35em;
  flex-shrink: 0;
  border-radius: 999px;
  background: var(--color-accent, #22c55e);
}

@media (max-width: 768px) {
  .mnsk7-archive-context {
    margin-bottom: 0.05rem;
  }
  .mnsk7-plp-search--priority {
    margin-bottom: 0.25rem !important;
  }
  .mnsk7-plp-search--priority .mnsk7-plp-search__form {
    gap: 0;
    border: 1px solid var(--color-border);
    border-radius: var(--r-md);
    overflow: hidden;
    background: var(--color-white);
    box-shadow: var(--shadow-sm);
  }
  .mnsk7-plp-search--priority .mnsk7-plp-search__input {
    min-height: 46px;
    padding: 0.65rem 0.75rem;
    border: none;
    border-radius: var(--r-md) 0 0 var(--r-md) !important;
    appearance: none;
    font-size: var(--fs-sm);
  }
  .mnsk7-plp-search--priority .mnsk7-plp-search__submit {
    min-height: 46px;
    padding-inline: 1rem;
    border-radius: 0 var(--r-md) var(--r-md) 0 !important;
    appearance: none;
  }
  .mnsk7-plp-chips:not(.mnsk7-plp-chips--attrs) {
    gap: 0.3rem;
  }
  .mnsk7-plp-chips--nav,
  .mnsk7-plp-chips--attrs {
    gap: 0.125rem;
  }
  .mnsk7-plp-chips--nav .mnsk7-plp-chips__label,
  .mnsk7-plp-chips--attrs .mnsk7-plp-chips__label,
  .mnsk7-plp-chips__label {
    padding-bottom: 0.05rem;
    font-size: 0.6875rem;
    letter-spacing: 0.02em;
  }
  .mnsk7-plp-chips--nav .mnsk7-plp-chips__scroll,
  .mnsk7-plp-chips--attrs .mnsk7-plp-chips__scroll {
    gap: 0.35rem;
    padding-top: 0.05rem;
    padding-bottom: 0.05rem;
  }
  .mnsk7-plp-chips--attrs .mnsk7-plp-chip {
    flex-shrink: 0;
  }
  .mnsk7-plp-chip {
    min-height: 44px;
    padding: 0.25rem 0.6rem;
    font-size: 0.6875rem;
  }
  .mnsk7-plp-filters-toggle-wrap {
    margin-bottom: 0.25rem;
  }
  .mnsk7-product-table-wrap {
    order: 30;
  }
  .mnsk7-plp-grid-mobile {
    order: 30;
  }
  .mnsk7-plp-trust-wrap--after-results {
    margin-top: 0.125rem;
  }
  .mnsk7-plp-trust-wrap {
    order: 40;
    opacity: 0.9;
  }
  .mnsk7-plp-trust-wrap .mnsk7-plp-trust,
  .mnsk7-plp-trust-wrap .mnsk7-plp-trust__item {
    font-size: 0.75rem;
  }
  .mnsk7-plp-trust-wrap .mnsk7-plp-trust {
    gap: 0.3rem 0.7rem !important;
  }
  .mnsk7-plp-trust-wrap .mnsk7-plp-trust__item {
    margin-right: 0.7rem !important;
    margin-inline-end: 0.7rem !important;
  }
}

/* Przycisk Ă˘â‚¬ĹľPokaÄąÄ˝ wiĂ„â„˘cejĂ˘â‚¬ĹĄ pod tabelĂ„â€¦ (gdy jest nastĂ„â„˘pna strona) Ă˘â‚¬â€ť wyÄąâ€şrodkowany, ta sama szerokoÄąâ€şĂ„â€ˇ co tabela */
.mnsk7-plp-load-more-wrap {
  margin: 1rem 0 0;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
}
.mnsk7-plp-trust-wrap--after-results {
  margin-top: 0.35rem;
  padding-top: 0.6rem;
  border-top: 1px solid var(--color-border);
}
.mnsk7-plp-trust-wrap--after-results .mnsk7-plp-trust {
  justify-content: flex-start;
}
.mnsk7-plp-load-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.75rem;
  font-size: var(--fs-sm);
  font-weight: 600;
  font-family: var(--font-base);
  background: var(--color-primary);
  color: var(--color-white);
  border: none;
  border-radius: var(--r-md);
  text-decoration: none;
  cursor: pointer;
  transition: background 0.2s ease;
  min-height: 44px;
  line-height: 1.25;
  box-sizing: border-box;
}
.mnsk7-plp-load-more:hover {
  background: var(--color-primary-hover);
  color: var(--color-white);
  text-decoration: none;
}
.mnsk7-plp-load-more:focus {
  outline: none;
}
.mnsk7-plp-load-more:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.mnsk7-plp-load-more.loading {
  opacity: 0.7;
  pointer-events: none;
}

/* PLP-09: layout wybierany na backendzie (mobile = grid, desktop = table). W DOM tylko jeden. */
body.woocommerce .mnsk7-plp-content .mnsk7-plp-grid-mobile {
  display: block;
  margin-bottom: 1rem;
}
body.woocommerce .mnsk7-plp-content .mnsk7-plp-grid-mobile ul.products {
  grid-template-columns: repeat(2, 1fr);
  gap: var(--space-16);
}
body.woocommerce .mnsk7-plp-content .mnsk7-plp-grid-mobile .woocommerce-loop-product__title,
body.woocommerce .mnsk7-plp-content .mnsk7-plp-grid-mobile ul.products li.product h2 {
  display: block;
  visibility: visible;
  opacity: 1;
}
body.woocommerce .mnsk7-plp-content .mnsk7-plp-grid-mobile .price,
body.woocommerce .mnsk7-plp-content .mnsk7-plp-grid-mobile ul.products li.product .price {
  display: block;
  visibility: visible;
  opacity: 1;
}
/* Bardzo wĂ„â€¦skie ekrany Ă˘â‚¬â€ť 1 kolumna (wartoÄąâ€şĂ„â€ˇ z 01-tokens: --breakpoint-mobile-narrow) */
@media (max-width: 360px) {
  body.woocommerce .mnsk7-plp-content .mnsk7-plp-grid-mobile ul.products {
    grid-template-columns: 1fr;
  }
}

/* Table wrapper — jak obramowanie/padding formularza koszyka (.woocommerce-cart-form) */
.mnsk7-product-table-wrap {
  margin-bottom: 1.5rem;
  max-width: 100%;
  width: 100%;
  padding: 1rem;
  box-sizing: border-box;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-gutter: stable;
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: var(--r-lg, 1rem);
  background: var(--color-white);
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.06);
}

/* table-layout: fixed — proporcje kolumn. min-width: czytelne kolumny przy poziomym przewijaniu (wąski desktop). */
.mnsk7-product-table {
  width: 100%;
  min-width: 56rem;
  table-layout: fixed;
  border-collapse: collapse;
  font-size: var(--fs-sm);
  background: var(--color-white);
  border: 0;
  border-radius: 0;
  overflow: hidden;
}

.mnsk7-product-table caption {
  padding: 0;
  caption-side: top;
}

.mnsk7-product-table thead {
  background: rgba(12, 125, 219, 0.06);
}

.mnsk7-product-table th {
  text-align: left;
  padding: 0.95rem 1rem;
  font-weight: 600;
  font-size: var(--fs-sm);
  font-family: var(--font-base);
  letter-spacing: normal;
  text-transform: none;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-border);
}

.mnsk7-product-table thead th {
  text-align: center;
  vertical-align: middle;
  padding: 0.6rem 0.4rem;
  white-space: nowrap;
}

/* Uwaga: sticky thead nie działa wobec viewport przy overflow-x na .mnsk7-product-table-wrap (scroll ancestor). */

/* ÄÂ¤ÄÂ¸ÄĹźĹÂÄÂ¸Ĺâ‚¬ÄÄľÄË›ÄÂ°ÄËťÄËťĹâ€ąÄÂµ ÄÂ´ÄÄľÄÂ»ÄÂ¸ ÄĹźÄÄľÄÂ»ÄÄľÄËťÄÄľÄĹź ÄÂ´ÄÂ»ĹĹą ÄÂµÄÂ´ÄÂ¸ÄËťÄÄľÄĹ‚ÄÄľ ÄË›ÄÂ¸ÄÂ´ÄÂ° ÄËťÄÂ° ÄË›ĹÂÄÂµĹâ€¦ ÄĹźÄÂ°Ĺâ€šÄÂµÄĹ‚ÄÄľĹâ‚¬ÄÂ¸ĹĹąĹâ€¦ */
/* min-width qty/akcja: stepper ~150px + CTA tekst nie nachodzi na sąsiednią kolumnę (--flex-shrink kosztem layoutu TD) */
.mnsk7-product-table th.mnsk7-table-cell--thumb,
.mnsk7-product-table .mnsk7-table-cell--thumb { width: 13%; min-width: 132px; }
.mnsk7-product-table th.mnsk7-table-cell--title,
.mnsk7-product-table .mnsk7-table-cell--title {
  width: 36%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.mnsk7-product-table th.mnsk7-table-cell--price,
.mnsk7-product-table .mnsk7-table-cell--price { width: 9%; }
.mnsk7-product-table th.mnsk7-table-cell--stock,
.mnsk7-product-table .mnsk7-table-cell--stock { width: 9%; }
.mnsk7-product-table th.mnsk7-table-cell--qty,
.mnsk7-product-table .mnsk7-table-cell--qty { width: 14%; min-width: 11.5rem; }
.mnsk7-product-table th.mnsk7-table-cell--action,
.mnsk7-product-table .mnsk7-table-cell--action { width: 19%; min-width: 14rem; }

.mnsk7-product-table tbody tr {
  border-bottom: 1px solid var(--color-border);
  transition: background 0.15s ease;
}

.mnsk7-product-table tbody tr:last-child {
  border-bottom: none;
}

.mnsk7-product-table tbody tr:hover {
  background: rgba(248, 250, 252, 0.88);
}

.mnsk7-product-table .mnsk7-table-cell {
  padding: 0.65rem 0.45rem;
  vertical-align: middle;
  font-size: var(--fs-sm);
  font-family: var(--font-base);
}

/* Cena | stan — wyżej zwarto, nagłówek i treść wyśrodkowane */
.mnsk7-product-table tbody td.mnsk7-table-cell--price,
.mnsk7-product-table tbody td.mnsk7-table-cell--stock {
  text-align: center;
  padding-left: 0.35rem;
  padding-right: 0.35rem;
}

.mnsk7-product-table tbody th.mnsk7-table-cell--title {
  font-weight: 400;
  text-align: left;
  /* Nagłówki thead miały nowrap na wszystkie th — w tbody tytuł musi się zawijać */
  white-space: normal;
  /* table-layout: fixed — bez min-width:0 długi tytuł może rozpychać komórkę poza kolumnę */
  overflow-wrap: anywhere;
  word-break: break-word;
}

.mnsk7-product-table .mnsk7-table-cell--thumb .mnsk7-table-thumb-zoom {
  display: block;
  width: 100%;
  aspect-ratio: 1;
  position: relative;
  max-width: 136px;
  margin: 0;
  padding: 0;
  border: none;
  background: var(--color-surface);
  border-radius: 0.75rem;
  overflow: hidden;
  cursor: zoom-in;
  -webkit-tap-highlight-color: transparent;
  box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  font: inherit;
  color: inherit;
  text-align: left;
}
.mnsk7-product-table .mnsk7-table-cell--thumb .mnsk7-table-thumb-zoom:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: inset 0 0 0 1px rgba(12, 125, 219, 0.2), 0 10px 24px rgba(15, 23, 42, 0.12);
}
.mnsk7-product-table .mnsk7-table-cell--thumb .mnsk7-table-thumb-zoom:focus {
  outline: none;
}
.mnsk7-product-table .mnsk7-table-cell--thumb .mnsk7-table-thumb-zoom:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.mnsk7-product-table .mnsk7-table-cell--thumb .mnsk7-table-thumb-zoom:disabled {
  cursor: not-allowed;
  opacity: 0.72;
}

.mnsk7-product-table .mnsk7-table-cell--thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Powiększenie miniatury PLP — <dialog> jak pole miniatury w wierszu tabeli (~156×220), nie pełny lightbox */
.mnsk7-plp-thumb-dialog {
  padding: 0;
  border: none;
  width: min(156px, calc(100vw - 2rem));
  max-width: none;
  background: transparent;
  box-sizing: border-box;
}
.mnsk7-plp-thumb-dialog::backdrop {
  background: rgba(15, 23, 42, 0.72);
  backdrop-filter: blur(2px);
}
.mnsk7-plp-thumb-dialog__inner {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
  aspect-ratio: 156 / 220;
  max-height: min(220px, 85vh);
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--color-white);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
  box-sizing: border-box;
}
.mnsk7-plp-thumb-dialog__img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  object-fit: contain;
  margin: 0;
}
.mnsk7-plp-thumb-dialog__close {
  position: absolute;
  top: 0.35rem;
  right: 0.35rem;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  min-height: 36px;
  padding: 0;
  border: none;
  border-radius: var(--r-pill);
  background: rgba(255, 255, 255, 0.96);
  color: var(--color-text);
  font-size: 1.2rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.15);
}
.mnsk7-plp-thumb-dialog__close:hover {
  background: var(--color-white);
}
.mnsk7-plp-thumb-dialog__close:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}

.mnsk7-table-sku {
  display: block;
  font-size: var(--fs-xs);
  color: #334155;
  margin-top: 0.35rem;
  font-weight: 600;
  letter-spacing: 0.01em;
}
.mnsk7-table-usage {
  display: block;
  margin-top: 0.25rem;
  font-size: var(--fs-sm);
  color: var(--color-text-secondary);
}
/* Jak mini-tabela: „żyłki” = gap + tło komórek; czytelność = ta sama typografia w dt/dd (różnica: obramowanie/tło). */
.mnsk7-table-key-params {
  display: grid;
  grid-template-columns: minmax(0, min(11.25rem, 52%)) minmax(0, 1fr);
  gap: 1px;
  margin: 0.5rem 0 0;
  max-width: 100%;
  min-width: 0;
  padding: 1px;
  box-sizing: border-box;
  border-radius: var(--r-sm);
  overflow: hidden;
  background: var(--color-border);
}
.mnsk7-table-key-params dt,
.mnsk7-table-key-params dd {
  margin: 0;
  padding: 0.45rem 0.55rem;
  font-size: var(--fs-sm);
  font-family: var(--font-base);
  font-weight: 600;
  line-height: 1.38;
  color: var(--color-text);
  overflow-wrap: anywhere;
  word-break: break-word;
}
.mnsk7-table-key-params dt {
  background: rgba(12, 125, 219, 0.06);
  border-left: 3px solid var(--color-primary);
  box-sizing: border-box;
}
.mnsk7-table-key-params dd {
  font-variant-numeric: tabular-nums;
  background: var(--color-white);
}

@supports (container-type: inline-size) {
  .mnsk7-product-table .mnsk7-table-cell--title {
    container-type: inline-size;
    container-name: plp-keyparams;
  }
  /* Bardzo wąska kolumna tytułu: jedna kolumna siatki (dt nad dd), bez łamania szerokich etykiet obok wartości */
  @container plp-keyparams (max-width: 280px) {
    .mnsk7-table-key-params {
      grid-template-columns: 1fr;
    }
    .mnsk7-table-key-params dt {
      border-left-width: 0;
    }
  }
}

.mnsk7-product-table .mnsk7-table-cell--title a {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  color: var(--color-text);
  font-weight: 600;
  text-decoration: none;
  border-bottom: none;
  -webkit-tap-highlight-color: transparent;
  line-height: 1.45;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.mnsk7-product-table .mnsk7-table-cell--title a:hover,
.mnsk7-product-table .mnsk7-table-cell--title a:active,
.mnsk7-product-table .mnsk7-table-cell--title a:visited {
  color: var(--color-text);
  text-decoration: none;
  border-bottom: none;
}
.mnsk7-product-table .mnsk7-table-cell--title a:focus {
  outline: none;
}
.mnsk7-product-table .mnsk7-table-cell--title a:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.mnsk7-product-table .mnsk7-table-cell--title {
  vertical-align: top;
}

/* Bloki pod linkiem — nie szersze niż kolumna (SKU, sprzedaż, zastosowanie) */
.mnsk7-product-table .mnsk7-table-cell--title .mnsk7-table-usage,
.mnsk7-product-table .mnsk7-table-cell--title .mnsk7-table-sku,
.mnsk7-product-table .mnsk7-table-cell--title .mnsk7-table-sold {
  max-width: 100%;
  box-sizing: border-box;
}

.mnsk7-product-table td.mnsk7-table-cell--price {
  font-weight: 700;
  color: var(--color-primary-dark);
  white-space: nowrap;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}

.mnsk7-product-table .mnsk7-table-cell--stock {
  white-space: nowrap;
  vertical-align: middle;
  font-variant-numeric: tabular-nums;
}
.mnsk7-product-table .mnsk7-table-outofstock {
  color: var(--color-text-secondary);
  font-style: italic;
}
.mnsk7-product-table .mnsk7-table-cell--qty,
.mnsk7-product-table .mnsk7-table-cell--action {
  vertical-align: middle;
  text-align: center;
}

/* Desktop: przycisk Ă˘â‚¬ĹľDodaj do koszykaĂ˘â‚¬ĹĄ w jednej linii z cenĂ„â€¦ (41,00 zÄąâ€š), stanem (1 szt.), iloÄąâ€şciĂ„â€¦ */
@media (min-width: 769px) {
  .mnsk7-product-table tbody .mnsk7-table-cell--price,
  .mnsk7-product-table tbody .mnsk7-table-cell--stock,
  .mnsk7-product-table tbody .mnsk7-table-cell--qty,
  .mnsk7-product-table tbody .mnsk7-table-cell--action {
    vertical-align: middle;
  }
  .mnsk7-product-table tbody .mnsk7-table-cell--action .mnsk7-table-addcart-form {
    margin: 0;
  }
  .mnsk7-product-table tbody .mnsk7-table-cell--action .button,
  .mnsk7-product-table tbody .mnsk7-table-cell--action .add_to_cart_button,
  .mnsk7-product-table tbody .mnsk7-table-cell--action .mnsk7-table-addcart-btn {
    margin: 0;
  }
}

/* Możliwość zwężenia przycisku w wąskiej TD — bez nachodzenia na kolumnę z ilością */
.mnsk7-product-table .mnsk7-table-cell--action .button,
.mnsk7-product-table .mnsk7-table-cell--action .add_to_cart_button,
.mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn {
  flex-shrink: 1;
  min-width: 0;
  max-width: 100%;
}
/* Ilość — jak w koszyku: .woocommerce-cart .quantity.quantity--stepper */
.mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper {
  margin: 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.125rem;
  padding: 0.125rem;
  border: 1px solid var(--color-border);
  border-radius: var(--r-pill);
  background: var(--color-white);
  width: auto;
  max-width: 100%;
  box-sizing: border-box;
}
.mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper .mnsk7-table-qty-input {
  width: 3.25rem;
  min-width: 3.25rem;
  min-height: 44px;
  margin: 0;
  padding: 0.5rem 0.25rem;
  font-size: var(--fs-sm);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  border: none;
  border-radius: var(--r-pill);
  box-shadow: none;
  background: transparent;
  -moz-appearance: textfield;
  appearance: textfield;
  box-sizing: border-box;
}

/* Ukryj strzałki spin przy input[type=number] (Chrome / Safari / Edge) */
.mnsk7-product-table .mnsk7-table-cell--qty .mnsk7-table-qty-input::-webkit-outer-spin-button,
.mnsk7-product-table .mnsk7-table-cell--qty .mnsk7-table-qty-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper .mnsk7-qty-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0;
  border: none;
  border-radius: var(--r-pill);
  background: transparent;
  color: var(--color-text);
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper .mnsk7-qty-btn:hover {
  background: var(--color-surface);
}
.mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper .mnsk7-qty-btn:focus-visible {
  outline: 2px solid var(--color-focus, var(--color-primary));
  outline-offset: 2px;
}
.mnsk7-product-table .mnsk7-table-cell--qty .mnsk7-table-qty-implicit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  min-width: 2.25rem;
  color: var(--color-text-muted);
  font-weight: 600;
}
.mnsk7-product-table .mnsk7-table-addcart-form {
  display: inline-flex;
  align-items: stretch;
  flex-wrap: nowrap;
  justify-content: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 44px;
  box-sizing: border-box;
}
.mnsk7-product-table .mnsk7-table-addcart-form--fixed-qty {
  gap: 0;
  border: 1px solid var(--color-border);
  border-radius: var(--r-md);
  overflow: hidden;
  background: var(--color-white);
}
.mnsk7-product-table .mnsk7-table-qty-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 4.5rem;
  padding: 0.5rem 0.8rem;
  border: none;
  border-right: 1px solid var(--color-border);
  border-radius: 0;
  background: var(--color-surface);
  color: var(--color-text-secondary);
  font-size: var(--fs-sm);
  font-weight: 600;
  white-space: nowrap;
  box-sizing: border-box;
}
.mnsk7-product-table .mnsk7-table-cell--title .mnsk7-table-sold {
  display: block;
  font-size: 0.75rem;
  color: var(--color-text-secondary);
  font-weight: 400;
  margin-top: 0.15rem;
}
.mnsk7-product-table tbody tr.mnsk7-row--fixed-qty .mnsk7-table-cell--qty .mnsk7-table-qty-implicit--fixed {
  display: none;
}
/* Alignment: keep inline-flex so button aligns to center of row (avoid baseline shift) */
/* Akcja — jak checkout-button w koszyku */
.mnsk7-product-table .mnsk7-table-cell--action .button,
.mnsk7-product-table .mnsk7-table-cell--action .add_to_cart_button,
.mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-height: 42px;
  width: 100%;
  padding: 0.5rem 0.85rem;
  font-size: var(--fs-sm);
  font-weight: 700;
  font-family: var(--font-base);
  color: var(--color-white) !important;
  background: var(--color-primary) !important;
  border: none;
  border-radius: var(--r-md);
  white-space: normal;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  box-shadow: none;
  box-sizing: border-box;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  word-break: normal;
  overflow-wrap: anywhere;
}
.mnsk7-product-table .mnsk7-table-addcart-form--fixed-qty .mnsk7-table-addcart-btn {
  border-radius: 0;
  box-shadow: none;
}
.mnsk7-product-table .mnsk7-table-cell--action .button:hover,
.mnsk7-product-table .mnsk7-table-cell--action .add_to_cart_button:hover,
.mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn:hover {
  background: var(--color-primary-hover) !important;
  color: var(--color-white) !important;
}
.mnsk7-product-table .mnsk7-table-cell--action .button:focus,
.mnsk7-product-table .mnsk7-table-cell--action .add_to_cart_button:focus,
.mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn:focus {
  outline: none;
}
.mnsk7-product-table .mnsk7-table-cell--action .button:focus-visible,
.mnsk7-product-table .mnsk7-table-cell--action .add_to_cart_button:focus-visible,
.mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn:focus-visible {
  outline: 2px solid var(--color-primary);
  outline-offset: 2px;
}
.mnsk7-product-table .mnsk7-table-cell--action .button:disabled,
.mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn:disabled,
.mnsk7-product-table .mnsk7-table-cell--action .button.loading,
.mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn.loading {
  opacity: 0.75;
  cursor: not-allowed;
}

/* Laptop / wąski desktop: mniejszy stepper — mieści się w min-width kolumny obok CTA */
@media (max-width: 1400px) and (min-width: 769px) {
  .mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper .mnsk7-qty-btn {
    min-width: 40px;
    min-height: 40px;
    font-size: 1.05rem;
  }
  .mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper .mnsk7-table-qty-input {
    width: 3rem;
    min-width: 3rem;
    min-height: 40px;
  }
}

@media (max-width: 1240px) and (min-width: 769px) {
  .mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper {
    gap: 0.0625rem;
    padding: 0.0625rem;
  }
  .mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper .mnsk7-qty-btn {
    min-width: 38px;
    min-height: 38px;
    font-size: 1rem;
  }
  .mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper .mnsk7-table-qty-input {
    width: 2.75rem;
    min-width: 2.75rem;
    min-height: 38px;
    padding: 0.35rem 0.2rem;
  }
}

@media (max-width: 980px) {
  .mnsk7-table-key-params {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    margin-top: 0.35rem;
  }
  .mnsk7-table-key-params dt,
  .mnsk7-table-key-params dd {
    padding: 0.32rem 0.42rem;
  }
  .mnsk7-product-table-wrap {
    padding: 0.65rem 0.5rem;
  }
  .mnsk7-plp-row-search-toolbar {
    gap: 0.75rem;
    align-items: stretch;
  }
  .mnsk7-plp-row-search-toolbar .mnsk7-plp-toolbar--top {
    justify-content: flex-start;
  }
  .mnsk7-plp-chips {
    margin-bottom: 0.75rem;
  }
  .mnsk7-product-table {
    display: block;
    width: 100%;
    min-width: 0;
    border: none;
    border-radius: 0;
    background: transparent;
  }
  .mnsk7-product-table tbody {
    display: block;
  }
  .mnsk7-product-table tbody tr {
    display: grid;
  }
  .mnsk7-product-table tbody :is(td, th) {
    display: block;
  }
  .mnsk7-product-table thead {
    display: none;
  }
  .mnsk7-product-table tbody {
    gap: 0.75rem;
  }
  .mnsk7-product-table tbody tr {
    display: grid;
    grid-template-columns: 92px 1fr;
    gap: 0.35rem 0.85rem;
    padding: 0.8rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: var(--r-lg, 1rem);
    background: var(--color-white);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
  }
  .mnsk7-product-table .mnsk7-table-cell {
    padding: 0;
    border: none;
  }
  .mnsk7-product-table .mnsk7-table-cell--thumb {
    grid-column: 1;
    grid-row: 1 / span 3;
    width: 92px;
  }
  .mnsk7-product-table .mnsk7-table-cell--thumb .mnsk7-table-thumb-zoom {
    max-width: 92px;
  }
  .mnsk7-product-table .mnsk7-table-cell--title {
    grid-column: 2;
    grid-row: 1;
  }
  .mnsk7-product-table .mnsk7-table-cell--title .mnsk7-table-sold {
    display: none;
  }
  .mnsk7-product-table .mnsk7-table-cell--price,
  .mnsk7-product-table .mnsk7-table-cell--stock {
    grid-column: 2;
    grid-row: auto;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    font-size: var(--fs-sm);
  }
  /* Ilość widoczna jak w wierszu koszyka (responsive shop_table) */
  .mnsk7-product-table .mnsk7-table-cell--qty {
    grid-column: 1 / -1;
    grid-row: 4;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 0.5rem;
    padding-top: 0.65rem;
    border-top: 1px solid var(--color-border);
  }
  .mnsk7-product-table .mnsk7-table-cell--action {
    grid-column: 1 / -1;
    grid-row: 5;
    margin-top: 0.35rem;
  }
  .mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-form {
    display: flex;
    width: 100%;
  }
  .mnsk7-product-table .mnsk7-table-addcart-form--fixed-qty .mnsk7-table-qty-badge {
    display: none;
    border-right: 0;
  }
  .mnsk7-product-table .mnsk7-table-cell--action .button,
  .mnsk7-product-table .mnsk7-table-cell--action .add_to_cart_button,
  .mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn {
    width: 100%;
    justify-content: center;
    min-height: 44px;
    padding: 0.65rem 1rem;
  }
}

@media (min-width: 769px) and (max-width: 980px) {
  .mnsk7-product-table-wrap {
    overflow-x: visible;
  }

  .mnsk7-product-table tbody {
    display: grid;
  }

  .mnsk7-product-table tbody tr {
    grid-template-columns: 112px minmax(0, 1fr);
    gap: 0.45rem 1rem;
    padding: 0.95rem;
    border-radius: var(--r-md, 0.75rem);
  }

  .mnsk7-product-table .mnsk7-table-cell--thumb {
    width: 112px;
  }

  .mnsk7-product-table .mnsk7-table-cell--thumb .mnsk7-table-thumb-zoom {
    max-width: 112px;
  }

  .mnsk7-product-table .mnsk7-table-cell--qty {
    grid-column: 1 / -1;
    justify-content: flex-start;
    width: 100%;
    text-align: left;
  }

  .mnsk7-product-table .mnsk7-table-cell--qty .quantity.quantity--stepper {
    width: min(100%, 14rem);
    margin: 0;
  }

  .mnsk7-product-table .mnsk7-table-cell--action {
    grid-column: 1 / -1;
    width: 100%;
    text-align: left;
  }

  .mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-form,
  .mnsk7-product-table .mnsk7-table-cell--action .button,
  .mnsk7-product-table .mnsk7-table-cell--action .add_to_cart_button,
  .mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn {
    width: 100%;
    max-width: 100%;
  }
}

@media (max-width: 1180px) and (min-width: 981px) {
  .mnsk7-product-table {
    min-width: 56rem;
  }

  .mnsk7-product-table .mnsk7-table-cell {
    padding: 0.6rem 0.4rem;
  }

  .mnsk7-product-table th.mnsk7-table-cell--thumb,
  .mnsk7-product-table .mnsk7-table-cell--thumb {
    min-width: 98px;
  }

  .mnsk7-product-table .mnsk7-table-cell--thumb .mnsk7-table-thumb-zoom {
    max-width: 118px;
  }

  .mnsk7-product-table th.mnsk7-table-cell--qty,
  .mnsk7-product-table .mnsk7-table-cell--qty {
    min-width: 11.25rem;
  }

  .mnsk7-product-table th.mnsk7-table-cell--action,
  .mnsk7-product-table .mnsk7-table-cell--action {
    min-width: 13.5rem;
  }

  .mnsk7-product-table .mnsk7-table-cell--action .button,
  .mnsk7-product-table .mnsk7-table-cell--action .add_to_cart_button,
  .mnsk7-product-table .mnsk7-table-cell--action .mnsk7-table-addcart-btn {
    padding: 0.5rem 0.65rem;
    font-size: 0.8125rem;
    line-height: 1.25;
    min-height: 40px;
  }
}

/* === 25-global-layout.css === */
/* 25-global-layout — source of truth dla header/footer/clearfix/PLP trust (HANDOFF: bez wp_footer).
   Ten sam wygląd na wszystkich stronach (/, koszyk, archive, tag, ?filter_*, PDP).
   Task 7: !important celowo — nadpisanie Woo/Storefront (kolejność ładowania); nie usuwać bez zmiany specyficzności lub kolejności plików. */

/* Page top — jedyne źródło odstępu header→treść: padding-top #content (header.php zamyka #content, wewnątrz main/hero).
   Root cause: docs/ROOT-CAUSE-WHITE-STRIP-HOME.md. Główna NIGDY nie dostaje padding-top — ustawiamy go tylko dla body:not(.home).
   Archiwa produktów (shop / kategoria / tag): kompaktowy padding-top z 24-plp-table.css — nie nadpisywać tutaj (plp-01). */
body {
  background-color: #f3f8ff;
  background-image:
    linear-gradient(rgba(30, 64, 175, 0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(30, 64, 175, 0.04) 1px, transparent 1px);
  background-size: 28px 28px;
}

#content,
.site-content,
.mnsk7-content {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  margin-bottom: 0;
  box-sizing: border-box;
}

#content > *:last-child,
.site-content > *:last-child,
.mnsk7-content > *:last-child {
  margin-bottom: 0 !important;
}
body:not(.home):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) #content,
body:not(.home):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .site-content,
body:not(.home):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .mnsk7-content {
  padding-top: var(--space-page-top);
}
/* Strona główna: brak odstępu górnego (hero od razu pod headerem). Zerujemy padding i margin. */
body.home #content,
body.home .site-content,
body.home .mnsk7-content {
  padding-top: 0;
  margin-top: 0;
}
@media (max-width: 768px) {
  #content,
  .site-content,
  .mnsk7-content {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  body:not(.home) #content,
  body:not(.home) .site-content,
  body:not(.home) .mnsk7-content {
    margin-top: var(--header-h);
  }
  body:not(.home):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) #content,
  body:not(.home):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .site-content,
  body:not(.home):not(.post-type-archive-product):not(.tax-product_cat):not(.tax-product_tag) .mnsk7-content {
    /* Mobile: sticky header already reserves space via margin-top; avoid double top-gap. PLP archiwa: padding-top z 24-plp-table. */
    padding-top: 0;
  }
  body.mnsk7-has-promo:not(.home) #content,
  body.mnsk7-has-promo:not(.home) .site-content,
  body.mnsk7-has-promo:not(.home) .mnsk7-content {
    margin-top: calc(var(--header-h) + var(--mnsk7-promo-h, 2.5rem));
  }
  /* Product archives already sit below sticky promo/header in normal flow; extra margin-top creates a false white block. */
  body.mnsk7-has-promo.post-type-archive-product #content,
  body.mnsk7-has-promo.post-type-archive-product .site-content,
  body.mnsk7-has-promo.post-type-archive-product .mnsk7-content,
  body.mnsk7-has-promo.tax-product_cat #content,
  body.mnsk7-has-promo.tax-product_cat .site-content,
  body.mnsk7-has-promo.tax-product_cat .mnsk7-content,
  body.mnsk7-has-promo.tax-product_tag #content,
  body.mnsk7-has-promo.tax-product_tag .site-content,
  body.mnsk7-has-promo.tax-product_tag .mnsk7-content,
  body.post-type-archive-product #content,
  body.post-type-archive-product .site-content,
  body.post-type-archive-product .mnsk7-content,
  body.tax-product_cat #content,
  body.tax-product_cat .site-content,
  body.tax-product_cat .mnsk7-content,
  body.tax-product_tag #content,
  body.tax-product_tag .site-content,
  body.tax-product_tag .mnsk7-content {
    margin-top: 0 !important;
  }
}
@media (min-width: 768px) {
  #content,
  .site-content,
  .mnsk7-content {
    /* UI policy: 8/16/24 rhythm — desktop uses 24px padding */
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

/* UI policy: very narrow mobile uses 8px padding */
@media (max-width: 360px) {
  #content,
  .site-content,
  .mnsk7-content {
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}

/* Content area: same background as body so no visible stripes on sides (mobile/tablet) */
#content,
.site-content,
.mnsk7-content {
  background: transparent;
}

/* Woo clearfix: usuń ::before, który psuł grid produktów */
ul.products::before,
ul.products.columns-3::before,
ul.products.columns-4::before,
.woocommerce ul.products::before,
.woocommerce-page ul.products::before {
  content: none !important;
  display: none !important;
}

/* Footer: ciemne tło i kolory tekstu */
#colophon.mnsk7-footer,
.mnsk7-footer {
  background: #1e293b !important;
  color: #e2e8f0;
}
.mnsk7-footer__bottom {
  background: #0f172a !important;
  color: #94a3b8;
}
.mnsk7-footer__top,
.mnsk7-footer__col,
.mnsk7-footer__title,
.mnsk7-footer__top p,
.mnsk7-footer__col p,
.mnsk7-footer__col li {
  color: #e2e8f0 !important;
}
.mnsk7-footer__top a {
  color: #60a5fa;
}

/* Header: tło i obramowanie (wygrywa z cache/pluginami) */
#masthead.mnsk7-header {
  background: #fff !important;
  border-bottom: 1px solid var(--color-border, #e9e8cc);
  padding-top: 0;
  padding-bottom: 0;
  margin-bottom: 0;
}

/* Desktop (1025px): jeden search/menu — bez duplikatu, bez zależności od JS */
@media (min-width: 1025px) {
  .mnsk7-header__menu-toggle,
  .mnsk7-header__search-toggle {
    display: none !important;
  }
  #mnsk7-header-search.mnsk7-header__search-dropdown {
    position: static !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
  }
}

/* PLP trust: flex layout (wygrywa z WooCommerce/innymi) */
.mnsk7-plp-trust-wrap .mnsk7-plp-trust,
.mnsk7-plp-trust {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem 1.25rem !important;
}
.mnsk7-plp-trust-wrap .mnsk7-plp-trust__item,
.mnsk7-plp-trust__item {
  display: inline-flex !important;
}
.mnsk7-plp-trust__item:not(:last-child)::after {
  content: none !important;
  margin-left: 0;
}

@media (max-width: 767px) {
  .mnsk7-plp-trust {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 0.4rem 0.85rem !important;
    align-items: start;
  }
  .mnsk7-plp-trust__item:nth-child(1),
  .mnsk7-plp-trust__item:nth-child(3) {
    justify-self: start;
    text-align: left;
  }
  .mnsk7-plp-trust__item:nth-child(2),
  .mnsk7-plp-trust__item:nth-child(4) {
    justify-self: end;
    text-align: right;
  }
}

/* UI Audit: jeden border-radius dla wszystkich przycisków (var(--r-md)) — nadpisuje WC/Storefront */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
a.button,
button.button,
.button,
input[type="submit"],
button[type="submit"],
.single_add_to_cart_button,
.add_to_cart_button {
  border-radius: var(--r-md) !important;
}

/* -----------------------------------------------------------------
 * Homepage #bestsellery (#bestsellery): carousel (swipe) ≤991px, pełna szerokość viewport —
 * bez „obcinania” przez padding #content; desktop ≥992 siatka z 12-related-products.
 * Strzałki: przyciski + mnsk7-bestsellers-strip.js (scrollBy).
 * ----------------------------------------------------------------- */
.mnsk7-front-page #bestsellery .mnsk7-bestsellers-title:empty {
  display: none;
  margin: 0;
  padding: 0;
  border: none;
  height: 0;
  overflow: hidden;
}

.mnsk7-bestsellers-strip-rail {
  display: block;
  width: 100%;
}

.mnsk7-bestsellers-strip-rail__track {
  min-width: 0;
}

.mnsk7-bestsellers-strip-rail__chev {
  display: none;
  flex: 0 0 auto;
  align-self: center;
  width: 2.925rem;
  height: 2.925rem;
  box-sizing: border-box;
  color: var(--color-text-secondary, #64748b);
  opacity: 0.88;
  position: relative;
  margin: 0;
  padding: 0;
  border: 1px solid rgba(18, 38, 63, 0.1);
  background: rgba(255, 255, 255, 0.97);
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 0 6px 18px rgba(15, 38, 72, 0.08);
  appearance: none;
}

.mnsk7-bestsellers-strip-rail__chev:focus-visible {
  outline: 2px solid var(--color-primary, #0c7ddb);
  outline-offset: 3px;
  opacity: 1;
}

.mnsk7-bestsellers-strip-rail__chev:hover {
  opacity: 1;
  border-color: rgba(12, 125, 219, 0.25);
}

.mnsk7-bestsellers-strip-rail__chev:active {
  transform: scale(0.96);
}

.mnsk7-bestsellers-strip-rail__chev::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.715rem;
  height: 0.715rem;
  margin: -0.3575rem 0 0 -0.3575rem;
  border: solid currentColor;
  border-width: 0 3px 3px 0;
  box-sizing: border-box;
}

.mnsk7-bestsellers-strip-rail__chev--prev::after {
  transform: translateX(10%) rotate(135deg);
}

.mnsk7-bestsellers-strip-rail__chev--next::after {
  transform: translateX(-10%) rotate(-45deg);
}

/* Karty: własna wysokość (bez rozciągania do sąsiada w rzędzie/siatce) */
.mnsk7-front-page #bestsellery ul.products,
.mnsk7-front-page #bestsellery .woocommerce ul.products {
  align-items: start !important;
}

/* Wspólne reguły rail full-bleed (≤991px) */
@media (max-width: 991px) {
  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
    box-sizing: border-box;
  }

  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail__track {
    min-width: 0;
    overflow: visible;
  }

  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail__track .mnsk7-bestsellers,
  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail__track .woocommerce {
    overflow: visible;
  }

  .mnsk7-front-page #bestsellery .mnsk7-section__header--bestsellers,
  .mnsk7-front-page #bestsellery .mnsk7-section__header {
    flex-direction: column !important;
    align-items: center !important;
    gap: 0.75rem !important;
    text-align: center;
    padding-inline: max(0, min(1.5rem, calc(50vw - 50% + 1rem)));
  }

  .mnsk7-front-page #bestsellery .mnsk7-section__header-copy {
    align-items: center !important;
    text-align: center !important;
  }

  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-more,
  .mnsk7-front-page #bestsellery .mnsk7-section__more {
    justify-content: center !important;
    width: 100%;
    margin: 0 !important;
    text-align: center !important;
  }

  .mnsk7-front-page #bestsellery .mnsk7-section__more a {
    width: auto !important;
    margin-inline: auto !important;
  }

  .mnsk7-front-page #bestsellery ul.products,
  .mnsk7-front-page #bestsellery .woocommerce ul.products {
    display: flex !important;
    flex-flow: row nowrap !important;
    grid-template-columns: none !important;
    margin: 0 !important;
    list-style: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    overflow-x: auto !important;
    overflow-y: visible !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
  }

  .mnsk7-front-page #bestsellery ul.products::-webkit-scrollbar {
    height: 0 !important;
    width: 0 !important;
  }
}

/* Tablet 769–991px: chev + szerokie karty + snap center (jak wcześniej) */
@media (min-width: 769px) and (max-width: 991px) {
  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: stretch;
    column-gap: 0.4rem;
    padding-inline: max(0.75rem, env(safe-area-inset-left)) max(0.75rem, env(safe-area-inset-right));
  }

  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail__track {
    align-self: center;
  }

  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail__chev {
    display: block;
    align-self: center;
  }

  .mnsk7-front-page #bestsellery ul.products,
  .mnsk7-front-page #bestsellery .woocommerce ul.products {
    gap: 0.85rem !important;
    padding: 0.4rem max(2px, env(safe-area-inset-left, 0)) 0.5rem max(2px, env(safe-area-inset-right, 0)) !important;
    scroll-snap-type: x proximity;
    scroll-padding-inline: 0.25rem;
  }

  .mnsk7-front-page #bestsellery ul.products > li.product {
    flex: 0 0 min(268px, calc(100vw - 6.75rem)) !important;
    width: min(268px, calc(100vw - 6.75rem)) !important;
    max-width: min(268px, calc(100vw - 6.75rem)) !important;
    scroll-snap-align: center;
    scroll-snap-stop: normal;
    margin: 0 !important;
  }
}

/* Mobile ≤768px: czysty swipe (jak referencyjny „Top DEALS”) — bez chev, peek next */
@media (max-width: 768px) {
  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail {
    display: block;
    padding-inline: 0;
  }

  .mnsk7-front-page #bestsellery .mnsk7-bestsellers-strip-rail__chev {
    display: none !important;
  }

  .mnsk7-front-page #bestsellery ul.products,
  .mnsk7-front-page #bestsellery .woocommerce ul.products {
    gap: 0.65rem !important;
    padding: 0.4rem 0.9rem 0.6rem !important;
    scroll-snap-type: x mandatory;
    scroll-padding-inline: 0.9rem;
  }

  .mnsk7-front-page #bestsellery ul.products > li.product {
    flex: 0 0 min(72vw, 240px) !important;
    width: min(72vw, 240px) !important;
    max-width: min(72vw, 240px) !important;
    scroll-snap-align: start;
    scroll-snap-stop: normal;
    margin: 0 !important;
  }
}

/* Prod mobile final: keep full-bleed home sections aligned to the content gutter. */
body.home #content,
body.home .site-content,
body.home .mnsk7-content,
.mnsk7-front-page {
  max-width: 100%;
  overflow-x: clip;
}

@media (min-width: 768px) {
  .mnsk7-front-page .mnsk7-hero,
  .mnsk7-front-page .mnsk7-section--bestsellers,
  .mnsk7-section--trust.mnsk7-section--light,
  .mnsk7-section--loyalty.mnsk7-section--light,
  .mnsk7-section--catalog.mnsk7-section--light,
  .mnsk7-section--insta {
    margin-left: -1.5rem !important;
    margin-right: -1.5rem !important;
    width: calc(100% + 3rem) !important;
  }
}

@media (max-width: 768px) {
  .mnsk7-front-page .mnsk7-hero {
    margin-left: -1rem !important;
    margin-right: -1rem !important;
    width: calc(100% + 2rem) !important;
    padding: 2.35rem 1rem 2.6rem !important;
  }

  .mnsk7-front-page .mnsk7-hero__split {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .mnsk7-front-page .mnsk7-hero__rail {
    display: none !important;
  }

  .mnsk7-front-page .mnsk7-hero__title {
    max-width: 12.5ch;
    font-size: clamp(2rem, 11vw, 2.65rem) !important;
    line-height: 1.02 !important;
  }

  .mnsk7-front-page .mnsk7-hero__lead {
    font-size: 0.98rem !important;
    line-height: 1.55 !important;
    margin-bottom: 1rem !important;
  }

  .mnsk7-front-page .mnsk7-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 0.55rem !important;
  }

  .mnsk7-front-page .mnsk7-section {
    padding-top: 2.35rem;
    padding-bottom: 2.45rem;
  }

  .mnsk7-front-page #bestsellery ul.products,
  .mnsk7-front-page #bestsellery .woocommerce ul.products {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    scroll-padding-inline: 1rem !important;
  }

  .mnsk7-front-page #bestsellery ul.products > li.product {
    flex-basis: min(76vw, 242px) !important;
    width: min(76vw, 242px) !important;
    max-width: min(76vw, 242px) !important;
  }
}

@media (max-width: 360px) {
  .mnsk7-front-page .mnsk7-hero,
  .mnsk7-front-page .mnsk7-section--bestsellers,
  .mnsk7-section--trust.mnsk7-section--light,
  .mnsk7-section--loyalty.mnsk7-section--light,
  .mnsk7-section--catalog.mnsk7-section--light,
  .mnsk7-section--insta {
    margin-left: -0.5rem !important;
    margin-right: -0.5rem !important;
    width: calc(100% + 1rem) !important;
  }
}

/* Prod mobile final: compact readable Sklep accordion. */
@media (max-width: 1023px) {
  .mnsk7-header__nav .mnsk7-header__menu {
    padding: 0.5rem 0.75rem 0.85rem !important;
    gap: 0.4rem !important;
    background: #fff !important;
    border-top: 1px solid rgba(15, 23, 42, 0.08);
    max-height: calc(100vh - var(--header-h, 56px) - env(safe-area-inset-top, 0px)) !important;
  }

  .mnsk7-header__nav .mnsk7-header__menu > li {
    border: 0 !important;
  }

  .mnsk7-header__nav .mnsk7-header__menu > li > a {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 0.72rem 0.85rem !important;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #f8fafc;
    font-weight: 700;
  }

  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children > a::after {
    margin-left: auto;
  }

  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children > .sub-menu.mnsk7-megamenu {
    margin: 0.35rem 0 0 !important;
    padding: 0.55rem !important;
    gap: 0.55rem !important;
    border: 1px solid rgba(15, 23, 42, 0.08) !important;
    border-radius: 10px !important;
    background: #f7fafc !important;
  }

  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__heading {
    display: block;
    margin: 0 !important;
    padding: 0.2rem 0.25rem 0.35rem !important;
    letter-spacing: 0 !important;
    color: #475569 !important;
  }

  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__list {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0.25rem !important;
  }

  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__list a {
    min-height: 42px !important;
    padding: 0.58rem 0.7rem !important;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 8px;
    background: #fff;
    font-size: 0.875rem !important;
    line-height: 1.3;
  }

  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__footer {
    margin: 0 !important;
    padding: 0.2rem 0.25rem 0 !important;
    border: 0 !important;
  }

  .mnsk7-header__nav .mnsk7-header__menu li.menu-item-has-children .sub-menu.mnsk7-megamenu .mnsk7-megamenu__footer a {
    display: flex !important;
    justify-content: center;
    width: 100%;
    min-height: 44px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    background: var(--color-primary, #0c7ddb) !important;
    color: #fff !important;
  }
}
/* Final production migration fixes: loaded last to win over legacy modules. */
.mnsk7-section--trust .mnsk7-allegro-reviews__item::before {
  content: "\2605\2605\2605\2605\2605" !important;
  font-family: Arial, sans-serif !important;
}

.single-product .mnsk7-product-description-accordion[open] .mnsk7-product-description-accordion__summary::before {
  content: "- " !important;
}

@media (min-width: 992px) {
  .mnsk7-front-page #bestsellery .mnsk7-section__header {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: end !important;
    gap: 1.25rem 2rem !important;
  }

  .mnsk7-front-page #bestsellery .mnsk7-section__header-copy {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    align-items: flex-start !important;
    text-align: left !important;
  }

  .mnsk7-front-page #bestsellery .mnsk7-section__title {
    width: auto !important;
    max-width: 24ch !important;
    margin-inline: 0 !important;
    font-size: clamp(2rem, 3.1vw, 3rem) !important;
    line-height: 1.08 !important;
    text-align: left !important;
    text-wrap: balance;
  }

  .mnsk7-front-page #bestsellery .mnsk7-section__eyebrow {
    margin-inline: 0 !important;
  }

  .mnsk7-front-page #bestsellery .mnsk7-section__more {
    width: auto !important;
    margin: 0 !important;
    align-self: end !important;
  }
}

