/* ============================================================
   PKUZdrowie — GreenMart Fresh Style  v5.8.0
   ============================================================ */
:root {
  --gm-green:       #2db34b;
  --gm-green-dark:  #1e8a38;
  --gm-green-deep:  #174d20;
  --gm-green-light: #e8f5e9;
  --gm-orange:      #f97316;
  --gm-text:        #1a1a1a;
  --gm-border:      #e0e0e0;
  --gm-font:        'Jost', sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
body { font-family: var(--gm-font); color: var(--gm-text); }

/* ── TOPBAR ── */
.pku-topbar { background: #f5f5f5; border-bottom: 1px solid #e0e0e0; font-family: var(--gm-font); overflow: visible !important; position: relative; z-index: 100001; }
.pku-topbar--active { /* kolory przez inline style z WP options */ }
.pku-topbar__inner { max-width: 1280px; margin: 0 auto; padding: 5px 24px; display: grid; grid-template-columns: 1fr; align-items: center; min-height: 36px; overflow: visible !important; }
.pku-topbar__left { font-size: 12px; color: #555; }
.pku-topbar__right { grid-area: 1/1; justify-self: end; display: flex; align-items: center; position: relative; z-index: 1; }

/* ══ TICKER ══ */
.pku-ticker { grid-area: 1/1; width: 100% !important; display: flex !important; align-items: center !important; justify-content: center !important; pointer-events: none !important; z-index: 0 !important; }

.pku-ticker__text {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: inherit !important;
  letter-spacing: 0.3px !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  display: inline-block !important;
}


.pku-lang-dropdown { position: relative; display: inline-flex; align-items: center; }
.pku-lang-current { display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; border-radius: 4px; font-size: 12px; font-weight: 600; color: #555; border: 1.5px solid var(--gm-border); cursor: pointer; text-decoration: none; white-space: nowrap; transition: all .15s; }
.pku-lang-current:hover { background: #f0f0f0; color: var(--gm-green); border-color: var(--gm-green); }
.pku-lang-flag { font-size: 14px; line-height: 1; }
.pku-lang-label { font-size: 11.5px; font-weight: 700; }
.pku-lang-arrow { font-size: 8px; opacity: .6; transition: transform .2s; }
.pku-lang-dropdown.pku-lang-open .pku-lang-arrow { transform: rotate(180deg); }
.pku-lang-list { display: none; position: absolute; top: calc(100% + 5px); right: 0; background: #fff; border: 1.5px solid var(--gm-border); border-radius: 8px; box-shadow: 0 4px 16px rgba(0,0,0,.12); min-width: 130px; z-index: 9999; padding: 4px 0; }
.pku-lang-dropdown.pku-lang-open .pku-lang-list { display: block !important; }
.pku-lang-option { display: flex; align-items: center; gap: 8px; padding: 8px 14px; font-size: 12.5px; color: #444; text-decoration: none; }
.pku-lang-option:hover { background: #e8f5e9; color: #1e8a38; }
.pku-lang-option--active { color: #1e8a38; font-weight: 700; }
.pku-lang-option__check { margin-left: auto; color: #2db34b; }

/* ══ PRIMARY HEADER — zawsze białe tło ══ */
#masthead,
.site-header,
.ast-main-header-wrap,
.ast-primary-header-bar,
.ast-primary-header-bar.main-header-bar,
.site-primary-header-wrap {
  background: #fff !important;
  background-color: #fff !important;
}
/* Nadpisanie dynamicznego CSS Astry — wyższe specyficzność */
.ast-desktop .ast-primary-header-bar.main-header-bar,
.ast-primary-header-bar.main-header-bar,
.main-header-bar.ast-primary-header-bar {
  padding: 0 !important;
}

/* Sticky scroll — nadal białe */
.ast-scroll-sticky-header #masthead,
.ast-scroll-sticky-header .ast-primary-header-bar,
.ast-scroll-sticky-header .ast-main-header-wrap,
#masthead.ast-scroll-sticky-header,
.ast-primary-header-bar.ast-scroll-sticky-header,
.ast-main-header-wrap.ast-sticky-active,
.ast-main-header-wrap.ast-sticky-active .ast-primary-header-bar {
  background: #fff !important;
  background-color: #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.08) !important;
}

.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.06) !important;
}

/* ── Siatka nagłówka: LOGO | SEARCH | PRZYCISKI ── */
.ast-primary-header-bar .ast-builder-grid-row,
.site-primary-header-wrap .ast-builder-grid-row {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 16px !important;
  height: 88px !important;
  min-height: 0 !important;
  width: 100% !important;
  padding: 0 24px !important;
  overflow: visible !important;
}

/* LOGO */
.site-header-primary-section-left {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  margin-right: auto !important;
}
.site-header-primary-section-left-center {
  display: none !important;
  width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

  height: 68px !important;
  width: auto !important;
  max-width: none !important;
  display: block !important;


/* CENTER = Wyszukiwarka */
.site-header-primary-section-center,
.site-header-primary-section-center.ast-flex {
  flex: 1 1 auto !important;
  max-width: 420px !important;
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  padding: 0 !important;
  min-width: 180px !important;
  margin: 0 !important;
  justify-content: center !important;
}
.site-header-primary-section-right-center {
  display: none !important;
  width: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
}

/* RIGHT = Przyciski */
.site-header-primary-section-right {
  flex: 0 0 auto !important;
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
}

/* ── Wyszukiwarka — usuwamy szare tło Astry ── */
.ast-header-search,
.ast-builder-layout-element.ast-header-search,
.ast-search-menu-icon,
.ast-search-menu-icon.slide-search,
.ast-header-search .ast-flex {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Ukryj ikonę lupy (toggle) — trzymamy form zawsze widoczny */
.ast-header-search .ast-search-icon { display: none !important; }

/* Form */
.ast-header-search .search-form {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* KLUCZOWE: label musi być flex żeby input był wycentrowany */
.ast-header-search label,
.ast-header-search .search-form > label {
  display: flex !important;
  align-items: center !important;
  position: relative !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1 !important;
  flex: 1 !important;
}

/* Input */
.ast-header-search .search-field,
#search-field.search-field {
  width: 100% !important;
  height: 48px !important;
  flex: 1 !important;
  border: 1px solid #2db34b !important;
  border-radius: 50px !important;
  padding: 0 58px 0 24px !important;
  font-size: 13px !important;
  font-family: var(--gm-font) !important;
  background: #fff !important;
  outline: none !important;
  margin: 0 !important;
  line-height: 48px !important;
  display: block !important;
  align-self: center !important;
  box-shadow: 0 2px 12px rgba(45,179,75,.15) !important;
  color: #333 !important;
}
.ast-header-search .search-field:focus,
#search-field.search-field:focus {
  border-color: #27a044 !important;
  box-shadow: 0 2px 16px rgba(45,179,75,.28) !important;
  background: #fff !important;
}

/* Submit button */
.ast-header-search .ast-search-submit,
.ast-header-search .search-submit {
  position: absolute !important;
  right: 7px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 36px !important;
  height: 36px !important;
  border-radius: 50% !important;
  background: #2db34b !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
  line-height: 1 !important;
  flex-shrink: 0 !important;
}
.ast-header-search .ast-search-submit svg,
.ast-header-search .search-submit svg,
.ast-header-search .search-submit .ast-icon svg {
  width: 16px !important;
  height: 16px !important;
  fill: #fff !important;
}
.ast-header-search .search-submit .ast-icon svg path { fill: #fff !important; }

/* ── Przycisk Telefon ── */
.pku-header-right-group {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.pku-phone-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 14px 6px 8px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 50px !important;
  background: #fff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  height: 46px !important;
  font-family: var(--gm-font) !important;
  transition: border-color .2s !important;
}
.pku-phone-btn:hover { border-color: #2db34b !important; text-decoration: none !important; }
.pku-phone-btn__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #e8f5e9 !important;
  flex-shrink: 0 !important;
}
.pku-phone-btn__icon svg { fill: #2db34b !important; width: 15px !important; height: 15px !important; }
.pku-phone-btn__text { display: flex !important; flex-direction: column !important; gap: 1px !important; }
.pku-phone-btn__label  { font-size: 10px !important; font-weight: 400 !important; color: #888 !important; line-height: 1.2 !important; }
.pku-phone-btn__number { font-size: 13px !important; font-weight: 700 !important; color: #1a1a1a !important; line-height: 1.2 !important; }

/* ── Przycisk Konto ── */
.pku-account-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 6px 14px 6px 8px !important;
  border: 1px solid #e0e0e0 !important;
  border-radius: 50px !important;
  background: #fff !important;
  color: #1a1a1a !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  height: 46px !important;
  font-family: var(--gm-font) !important;
  transition: border-color .2s !important;
}
.pku-account-btn:hover { border-color: #2db34b !important; color: #1a1a1a !important; text-decoration: none !important; }
.pku-account-btn__icon {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #e8f5e9 !important;
  flex-shrink: 0 !important;
}
.pku-account-btn__icon svg { fill: #2db34b !important; width: 16px !important; height: 16px !important; }
.pku-account-btn__text { display: flex !important; flex-direction: column !important; gap: 1px !important; }
.pku-account-btn__main { font-size: 13px !important; font-weight: 700 !important; color: #1a1a1a !important; line-height: 1.2 !important; }
.pku-account-btn__sub  { font-size: 10px !important; font-weight: 400 !important; color: #888 !important; line-height: 1.2 !important; }

/* ── Koszyk ── */
.ast-desktop .ast-primary-header-bar .ast-header-woo-cart { line-height: normal !important; min-height: 0 !important; }
.ast-site-header-cart, .woocommerce .ast-site-header-cart { display: flex !important; align-items: center !important; flex-wrap: nowrap !important; }
.ast-site-header-cart a.cart-container {
  display: flex !important; align-items: center !important; gap: 6px !important;
  padding: 2px !important; border: none !important;
  border-radius: 0 !important; background: none !important;
  text-decoration: none !important; white-space: nowrap !important;
  line-height: 1.3 !important;
  transition: opacity .2s !important;
}
.ast-site-header-cart a.cart-container:hover { background: none !important; border-color: transparent !important; opacity: .75; }
.ast-site-header-cart .ast-icon svg { width: 28px !important; height: 28px !important; fill: #2db34b !important; }
.ast-site-header-cart .ast-header-cart-count {
  background: #2db34b !important; color: #fff !important;
  width: 18px !important; height: 18px !important; border-radius: 50% !important;
  font-size: 10px !important; font-weight: 800 !important;
  display: flex !important; align-items: center !important; justify-content: center !important; line-height: 1 !important;
}
.ast-site-header-cart .ast-header-cart-total { font-size: 13px !important; font-weight: 700 !important; color: #2db34b !important; line-height: 1 !important; white-space: nowrap !important;
  line-height: 1.3 !important; }
/* Zielony tekst zamiast białego */
.ast-site-header-cart a.cart-container *,
.ast-site-header-cart a.cart-container .ast-header-cart-total,
.ast-site-header-cart a.cart-container span,
.ast-site-header-cart a.cart-container .amount,
.ast-site-header-cart a.cart-container bdi {
  color: #2db34b !important;
}
.ast-woo-header-cart-info-wrap { display: flex !important; align-items: center !important; gap: 6px !important; line-height: 1 !important; }

/* ══ MENU — pasek poniżej nagłówka ══ */
.ast-below-header-bar,
.ast-below-header,
.site-below-header-wrap,
.site-below-header-wrap[data-section] {
  background: #fff !important;
  border-top: none !important;
  border-bottom: none !important;
  box-shadow: 0 2px 6px rgba(0,0,0,.06) !important;
  min-height: 0 !important;
  padding: 0 !important;
}
.site-below-header-wrap .ast-builder-grid-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 0 !important;
}
.site-below-header-wrap .ast-container,
.ast-below-header-wrap .ast-container {
  padding-left: 0 !important;
  padding-right: 0 !important;
  max-width: 100% !important;
}
.site-header-below-section-center { width: 100% !important; display: flex !important; justify-content: center !important; }
.site-below-header-wrap .main-header-menu,
.ast-builder-menu-1 .main-header-menu {
  background: transparent !important; border: none !important;
  display: flex !important; align-items: stretch !important;
  justify-content: center !important;
  padding: 0 !important; margin: 0 !important; list-style: none !important;
}
.site-below-header-wrap .menu-item,
.ast-builder-menu-1 .menu-item {
  display: flex !important;
  align-items: stretch !important;
  border-right: 1px solid #e8e8e8 !important;
}
.site-below-header-wrap .menu-item:first-child,
.ast-builder-menu-1 .menu-item:first-child { border-left: 1px solid #e8e8e8 !important; }
.site-below-header-wrap .menu-item > a,
.ast-builder-menu-1 .menu-item > a {
  font-family: var(--gm-font) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  padding: 16px 52px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  transition: color .15s, background .15s !important;
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
  letter-spacing: .1px !important;
}
.site-below-header-wrap .menu-item > a:hover,
.ast-builder-menu-1 .menu-item > a:hover,
.ast-builder-menu-1 .current-menu-item > a {
  color: #2db34b !important;
  background: #e8f5e9 !important;
}

/* ── FEATURES BAR ── */
.pku-features { font-family: var(--gm-font); }
/* Ogranicz pasek features do szerokości kontenera — nadpisz regułę Astry max-width:none dla page-builder */
.pku-features.pku-features--3col {
  display: flex;
  max-width: var(--ast-normal-container-width, 1200px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 14px 24px;
  background: #e8f5e9;
  border-bottom: 1px solid #c8e6c9;
}
.pku-features--3col .pku-feature { flex: 1; display: flex; align-items: center; gap: 14px; padding: 0 24px; border-right: 1px solid #b8deba; }
.pku-features--3col .pku-feature:first-child { padding-left: 0; }
.pku-features--3col .pku-feature:last-child { border-right: none; }
.pku-feature__icon { width: 44px; height: 44px; border-radius: 50%; background: #fff; flex-shrink: 0; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,.08); }
.pku-feature__icon svg { width: 22px; height: 22px; fill: #1e8a38; }
.pku-feature__content h4 { margin: 0 0 2px; font-size: 13.5px; font-weight: 700; color: #1e8a38; }
.pku-feature__content p { margin: 0; font-size: 11.5px; color: #4a7c50; line-height: 1.4; }

/* ── BANNERS ── */
.pku-banners { display: grid; grid-template-columns: repeat(4,1fr); gap: 16px; max-width: 1280px; margin: 28px auto; padding: 0 24px; }
.pku-banner { display: block; border-radius: 12px; overflow: hidden; position: relative; aspect-ratio: 3/4; background: #1a1a1a; transition: transform .2s, box-shadow .2s; text-decoration: none; }
.pku-banner:hover { box-shadow: 0 8px 24px rgba(0,0,0,.15); }
.pku-banner__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transition: transform .3s; }
.pku-banner:hover .pku-banner__bg { }
.pku-banner__overlay { position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.6) 0%, transparent 60%); }
.pku-banner__content { position: absolute; bottom: 14px; left: 14px; right: 14px; z-index: 2; }
.pku-banner__title { display: block; font-size: 14px; font-weight: 700; color: #fff; margin-bottom: 3px; text-shadow: 0 1px 3px rgba(0,0,0,.4); }
.pku-banner__subtitle { display: block; font-size: 11px; color: rgba(255,255,255,.85); margin-bottom: 8px; line-height: 1.35; }
.pku-banner__btn { display: inline-block; background: #2db34b; color: #fff !important; font-size: 11px; font-weight: 700; padding: 4px 12px; border-radius: 20px; font-family: var(--gm-font); text-decoration: none; }

/* ── PRODUCT SECTIONS ── */
.pku-section { margin: 0 0 36px; }
.pku-section__header { display: flex; align-items: baseline; justify-content: space-between; max-width: 1280px; margin: 0 auto 14px; padding: 0 24px; }
.pku-section__title { font-size: 20px; font-weight: 700; color: #1a1a1a; margin: 0; }
.pku-section__link { font-size: 13px; color: #2db34b; font-weight: 600; text-decoration: none; }
.pku-section__link:hover { text-decoration: underline; color: #1e8a38; }
.pku-slider-wrap { max-width: 1280px; margin: 0 auto; padding: 0 24px; }
.pku-slider { display: grid; grid-template-columns: repeat(4,1fr); gap: 18px; }

/* ── PRODUCT CARDS ── */
.pku-product-card { background: #fff; border: 1px solid #e0e0e0; border-radius: 12px; display: flex; flex-direction: column; transition: box-shadow .2s, transform .2s; position: relative; }
.pku-product-card:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1); }
.pku-card-img { position: relative; background: #fafafa; overflow: hidden; border-radius: 12px 12px 0 0; }
.pku-card-img img { width: 100%; aspect-ratio: 1/1; object-fit: contain; padding: 12px; display: block; transition: transform .3s; }
.pku-product-card:hover .pku-card-img img { }
.pku-badge { position: absolute; top: 8px; left: 8px; font-size: 10.5px; font-weight: 700; padding: 3px 9px; border-radius: 20px; color: #fff; line-height: 1.4; }
.pku-badge--sale { background: #e53935; }
.pku-badge--new  { background: #3b82f6; }
.pku-brand-badge { display: inline-block; background: #e8f5e9; color: #1e8a38; font-size: 10.5px; font-weight: 600; padding: 2px 9px; border-radius: 20px; margin: 7px 10px 0; line-height: 1.6; }
.pku-card-title { font-size: 13.5px; font-weight: 600; padding: 6px 10px 4px; margin: 0; line-height: 1.4; color: #1a1a1a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pku-card-price { padding: 0 10px 4px; font-size: 15px; font-weight: 700; color: #1e8a38; }
.pku-card-price ins, .pku-card-price .woocommerce-Price-amount { color: #1e8a38 !important; font-weight: 700 !important; text-decoration: none !important; }
.pku-card-price del, .pku-card-price del .woocommerce-Price-amount { color: #999 !important; font-size: 12px !important; font-weight: 400 !important; }
.pku-product-card .add_to_cart_button, .pku-product-card .button { display: block !important; width: calc(100% - 20px) !important; margin: 4px 10px 10px !important; padding: 9px 8px !important; background: #2db34b !important; color: #fff !important; border-radius: 6px !important; font-size: 12.5px !important; font-weight: 600 !important; text-align: center !important; border: none !important; cursor: pointer !important; transition: background .2s !important; text-decoration: none !important; }
.pku-product-card .add_to_cart_button:hover { background: #1e8a38 !important; }

/* ── WC SHOP PAGE ── */
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4,1fr) !important; gap: 20px !important; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.woocommerce ul.products li.product { background: #fff !important; border: 1px solid #e0e0e0 !important; border-radius: 12px !important; overflow: hidden !important; transition: box-shadow .2s, transform .2s !important; position: relative !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; }
.woocommerce ul.products li.product:hover { box-shadow: 0 6px 20px rgba(0,0,0,.1) !important; }
.woocommerce ul.products li.product img { width: 100% !important; aspect-ratio: 1/1 !important; object-fit: contain !important; padding: 12px !important; background: #fafafa !important; }
.astra-shop-summary-wrap .ast-woo-product-category { display: inline-block !important; background: #e8f5e9 !important; color: #1e8a38 !important; font-size: 10.5px !important; font-weight: 600 !important; padding: 2px 9px !important; border-radius: 20px !important; margin: 6px 10px 0 !important; line-height: 1.6 !important; text- }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13.5px !important; font-weight: 600 !important; padding: 6px 10px 4px !important; margin: 0 !important; line-height: 1.4 !important; white-space: nowrap !important;
  line-height: 1.3 !important; overflow: hidden !important; text-overflow: ellipsis !important; display: block !important; }
.woocommerce ul.products li.product .price { padding: 0 10px 6px !important; margin: 0 !important; display: block !important; }
.woocommerce ul.products li.product .price .woocommerce-Price-amount { color: #1e8a38 !important; font-size: 15px !important; font-weight: 700 !important; }
.woocommerce ul.products li.product .price del .woocommerce-Price-amount { color: #999 !important; font-size: 12px !important; font-weight: 400 !important; }
.woocommerce ul.products li.product .ast-woo-shop-add-to-cart { display: block !important; padding: 0 10px 10px !important; margin-top: auto !important; }
.woocommerce ul.products li.product .add_to_cart_button { display: block !important; width: 100% !important; margin: 4px 0 !important; padding: 9px 8px !important; background: #2db34b !important; color: #fff !important; border-radius: 6px !important; font-size: 12.5px !important; font-weight: 600 !important; text-align: center !important; border: none !important; cursor: pointer !important; transition: background .2s !important; }
.woocommerce ul.products li.product .add_to_cart_button:hover { background: #1e8a38 !important; }
.woocommerce ul.products li.product .astra-shop-summary-wrap { padding: 0 !important; }
.woocommerce ul.products li.product .onsale { top: 10px !important; left: 10px !important; right: auto !important; position: absolute !important; z-index: 5 !important; background: #f97316 !important; color: #fff !important; border-radius: 20px !important; font-size: 11px !important; font-weight: 700 !important; padding: 4px 10px !important; line-height: 1.5 !important; min-width: auto !important; min-height: auto !important; }
.astra-shop-thumbnail-wrap { position: relative !important; }
.woocommerce ul.products li.product .woosw-btn, .woocommerce ul.products li.product .tinv-wraper { display: none !important; }

/* ── SHOW MORE ── */
.pku-show-more-wrap { text-align: center; padding: 8px 0 24px; }
.pku-show-more-btn { display: inline-block; padding: 10px 28px; background: transparent; border: 2px solid #2db34b; color: #2db34b; border-radius: 24px; font-size: 14px; font-weight: 600; cursor: pointer; font-family: var(--gm-font); transition: background .2s, color .2s; }
.pku-show-more-btn:hover { background: #2db34b; color: #fff; }

/* ── RESPONSIVE ── */
@media (max-width: 1024px) {
  .woocommerce ul.products, .pku-slider { grid-template-columns: repeat(3,1fr) !important; }
  .pku-banners { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 768px) {
  .woocommerce ul.products, .pku-slider { grid-template-columns: repeat(2,1fr) !important; }
  .pku-banners { grid-template-columns: repeat(2,1fr); }
  .pku-features--3col { flex-direction: column; }
  .pku-features--3col .pku-feature { border-right: none; border-bottom: 1px solid #b8deba; padding: 10px 0; }
  .pku-features--3col .pku-feature:last-child { border-bottom: none; }
  .pku-phone-btn { display: none !important; }
}

/* ══ SEARCH CRITICAL FIX — override Astra slide-search absolute positioning ══ */
/* Astra hides form with: visibility:hidden; opacity:0; position:absolute; top:50%; transform:translateY(-50%) */
/* We must override ALL of these */
.ast-search-menu-icon.slide-search .search-form,
.ast-header-search .ast-search-menu-icon.slide-search .search-form {
  visibility: visible !important;
  opacity: 1 !important;
  position: relative !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  transform: none !important;
  z-index: auto !important;
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Also hide the trigger icon (the magnifying glass button) — form is always visible */
.ast-header-search .ast-search-icon,
.ast-header-search .astra-search-icon { display: none !important; }

/* ══ LOGO + SEARCH BOX FIX v10 ══ */

/* SEARCH — usuń kwadratową ramkę z kontenera */
.ast-builder-layout-element.ast-header-search,
.ast-search-menu-icon.slide-search,
.ast-header-search .ast-search-menu-icon,
.ast-header-search .search-form label,
.ast-header-search .search-form {
  border: none !important;
  outline: none !important;
  background: transparent !important;
  background-color: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

/* Tylko input i button mają własne style */
.ast-header-search .search-field {
  border: 1px solid #e0e0e0 !important;
  border-radius: 50px !important;
  background: #f8f8f8 !important;
}
.ast-header-search .search-field:focus {
  border-color: #2db34b !important;
  background: #fff !important;
}

/* ══ IKONY — SVG via CSS data URI (WP strips inline SVG) ══ */

/* Telefon */
.pku-phone-btn__icon {
  background-color: #e8f5e9 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  position: relative !important;
}
.pku-phone-btn__icon::after {
  content: '' !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%232db34b' d='M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* Konto */
.pku-account-btn__icon {
  background-color: #e8f5e9 !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  position: relative !important;
}
.pku-account-btn__icon::after {
  content: '' !important;
  display: block !important;
  width: 18px !important;
  height: 18px !important;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%232db34b' d='M12 12c2.7 0 4.8-2.1 4.8-4.8S14.7 2.4 12 2.4 7.2 4.5 7.2 7.2 9.3 12 12 12zm0 2.4c-3.2 0-9.6 1.6-9.6 4.8v2.4h19.2v-2.4c0-3.2-6.4-4.8-9.6-4.8z'/%3E%3C/svg%3E") !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
}

/* ══ MEGA MENU — Sklep dropdown ══ */
.pku-mega-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  width: 960px;
  background: #fff;
  box-shadow: 0 8px 32px rgba(0,0,0,.14);
  z-index: 9999;
  border-top: 3px solid #2db34b;
  border-radius: 0 0 8px 8px;
}
/* Show on hover */
.ast-builder-menu-1 .menu-item:hover .pku-mega-menu,
.site-below-header-wrap .menu-item:hover .pku-mega-menu {
  display: block !important;
}
.pku-mega-menu__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 12px 24px 14px;
}
.pku-mega-col {
  padding: 0 20px;
  border-right: 1px solid #f0f0f0;
}
.pku-mega-col:first-child { padding-left: 0; }
.pku-mega-col:last-child { border-right: none; padding-right: 0; }
.pku-mega-col__title {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #999;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #eee;
}
.pku-mega-col ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  column-gap: 8px !important;
}
.pku-mega-col ul li {
  border: none !important;
  display: block !important;
  margin: 0 !important;
}
.pku-mega-col ul li a {
  display: block !important;
  padding: 2px 0 !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-decoration: none !important;
  border: none !important;
  background: none !important;
  transition: color .15s !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
}
.pku-mega-col ul li a:hover { color: #2db34b !important; }
.pku-mega-see-all {
  grid-column: 1 / -1 !important;
  margin-top: 4px !important;
  color: #2db34b !important;
  font-weight: 700 !important;
  font-size: 13px !important;
}
.pku-mega-col:first-child ul {
  grid-template-columns: 1fr 1fr !important;
}
/* Marki column — 2-column layout */
.pku-mega-col:last-child ul {
  grid-template-columns: 1fr 1fr !important;
}

/* Parent item must be relative for absolute positioning */
.ast-builder-menu-1 .menu-item,
.site-below-header-wrap .menu-item {
  position: relative !important;
}

/* ── Strzałka przy Sklep ── */
.pku-menu-arrow {
  font-size: 16px !important;
  opacity: .55 !important;
  margin-left: 4px !important;
  vertical-align: middle !important;
  display: inline-block !important;
  transition: transform .2s !important;
}
.menu-item:hover .pku-menu-arrow {
  opacity: 1 !important;
}

/* ══ MEGA MENU — overflow fix for parent containers ══ */
.site-below-header-wrap,
.ast-below-header-bar,
.ast-below-header,
.main-header-bar.ast-below-header-bar,
.ast-builder-grid-row,
.ast-builder-menu-1 > div,
.ast-builder-menu-1 nav,
.ast-builder-menu-1 .main-navigation,
.ast-builder-menu-1 .main-header-menu,
.site-below-header-wrap nav,
.site-below-header-wrap .main-navigation,
.site-below-header-wrap .main-header-menu,
.site-below-header-wrap > .ast-builder-grid-row {
  overflow: visible !important;
}


/* ══ STRONA KONTAKT ══ */
.pku-contact-page {
  display: grid;
  grid-template-columns: 1fr 1.6fr;
  gap: 0;
  max-width: 1100px;
  margin: 40px auto 60px;
  padding: 0 24px;
  align-items: start;
}

.pku-contact-info {
  margin-right: 15px !important;
}

.pku-contact-form {
  margin-left: 0 !important;
  margin-right: 220px !important;
}

.pku-contact-card {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 20px 22px;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  margin-bottom: 16px;
  background: #fff;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
}
.pku-contact-card:last-child { margin-bottom: 0; }

.pku-contact-card__icon {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  background: #f0faf3;
  border-radius: 10px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 22px 22px;
}

/* SVG ikony jako data URI */
.pku-icon-clock {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%232db34b' d='M256 0a256 256 0 1 1 0 512A256 256 0 1 1 0 256zM232 120v136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.5 33.3-6.5s4.5-25.9-6.5-33.3L280 243.2V120c0-13.3-10.7-24-24-24s-24 10.7-24 24z'/%3E%3C/svg%3E");
}
.pku-icon-phone {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%232db34b' d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-2.1-46.3 11.6L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
}
.pku-icon-email {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%232db34b' d='M48 64C21.5 64 0 85.5 0 112c0 15.1 7.1 29.3 19.2 38.4L236.8 313.6c11.4 8.5 27 8.5 38.4 0L492.8 150.4C504.9 141.3 512 127 512 112c0-26.5-21.5-48-48-48H48zM0 176V384c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V176L294.4 339.2c-22.8 17.1-54 17.1-76.8 0L0 176z'/%3E%3C/svg%3E");
}

.pku-contact-card__body {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.pku-contact-card__body strong {
  font-size: 11px;
  font-weight: 700;
  color: #333;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.pku-contact-card__body span { font-size: 14px; color: #555; }
.pku-contact-card__body a { color: #555; text-decoration: none; }
.pku-contact-card__body a:hover { color: #2db34b; }

/* CF7 formularz */
.pku-contact-form {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 10px;
  padding: 32px 36px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.05);
  margin-bottom: 50px;
}
.pku-contact-form .wpcf7 { margin: 0; }
.pku-cf7-row {
  display: flex;
  flex-direction: column;
  gap: 1px;
  margin-bottom: 2px !important;
}
.pku-cf7-row label {
  font-size: 13px;
  font-weight: 600;
  color: #333;
  line-height: 1;
  letter-spacing: 0.2px;
  margin: 0;
  padding: 0;
}
.pku-cf7-row .wpcf7-form-control-wrap {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
.pku-cf7-row label abbr { color: #c0392b; text-decoration: none; margin-left: 2px; }
.pku-optional { font-size: 12px; color: #aaa; font-weight: 400; margin-left: 5px; }

.pku-contact-form .wpcf7 input[type="text"],
.pku-contact-form .wpcf7 input[type="email"],
.pku-contact-form .wpcf7 select,
.pku-contact-form .wpcf7 textarea {
  width: 100% !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 11px 14px !important;
  font-size: 14px !important;
  color: #333 !important;
  background: #f9f9f9 !important;
  outline: none !important;
  transition: border-color .2s, box-shadow .2s !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
  -webkit-appearance: auto !important;
  appearance: auto !important;
}
.pku-contact-form .wpcf7 select {
  cursor: pointer !important;
  padding-right: 32px !important;
}
.pku-contact-form .wpcf7 input:focus,
.pku-contact-form .wpcf7 select:focus,
.pku-contact-form .wpcf7 textarea:focus {
  border-color: #2db34b !important;
  background: #fff !important;
  box-shadow: 0 0 0 3px rgba(45,179,75,0.12) !important;
}
.pku-contact-form .wpcf7 textarea { height: 140px !important; resize: vertical !important; }
.pku-contact-form .wpcf7-form-control-wrap { display: block !important; }
.pku-cf7-submit { margin-top: 24px; }
.pku-contact-form .wpcf7 input[type="submit"] {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  padding: 13px 44px !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  border-radius: 8px !important;
  cursor: pointer !important;
  transition: background .2s, transform .1s !important;
  width: 100% !important;
}
.pku-contact-form .wpcf7 input[type="submit"]:hover {
  background: #25a041 !important;
  transform: translateY(-1px) !important;
}
.wpcf7-not-valid-tip { color: #c0392b; font-size: 12px; margin-top: 4px; display: block; }
.wpcf7-response-output {
  border-radius: 8px;
  padding: 10px 14px;
  margin-top: 16px;
  font-size: 13px;
  border: none !important;
  background: #f0faf3;
  color: #2db34b;
}
.wpcf7-response-output.wpcf7-validation-errors { background: #fff5f5; color: #c0392b; }

@media (max-width: 768px) {
  .pku-contact-page { grid-template-columns: 1fr; gap: 32px; }
}

/* ===================================================================
   PKU SHOP — sidebar, toolbar, toggle widoku, paginacja
   =================================================================== */

/* Wrapper layout */
.pku-shop-wrap {
  display: flex;
  align-items: flex-start;
  gap: 28px;
  margin: 0 auto;
  padding: 0;
}

/* ── Sidebar ── */
.pku-sidebar {
  flex: 0 0 230px;
  width: 230px;
}
.pku-sidebar-widget {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 18px 20px;
  margin-bottom: 16px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}
/* Fix: pku-cat-nav wewnatrz pku-sidebar-widget — brak double-box */
.pku-sidebar-widget > .pku-cat-nav { background: none !important; border: none !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; margin: 0 !important; }

.pku-sidebar-title {
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.7px !important;
  color: #222 !important;
  margin: 0 0 12px !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #2db34b !important;
}
.pku-sidebar-cats {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pku-sidebar-cats li {
  margin: 0 !important;
  padding: 0 !important;
}
.pku-sidebar-cats li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 13px;
  color: #444;
  text-decoration: none !important;
  transition: background .15s, color .15s;
  gap: 6px;
}
.pku-sidebar-cats li a:hover {
  background: #f0faf3;
  color: #2db34b;
}

/* ══ Sidebar: Filtry ══════════════════════════════════════════════════════ */
.pku-filter-form {}

.pku-filter-group {
  margin-bottom: 14px;
}

.pku-filter-label {
  display: block;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  color: #888;
  letter-spacing: .04em;
  margin-bottom: 6px;
}

/* Price range */
.pku-price-range {
  display: flex;
  align-items: center;
  gap: 6px;
}

.pku-price-input {
  width: 72px;
  padding: 7px 8px;
  border: 1.5px solid #e0e0e0;
  border-radius: 7px;
  font-size: 13px;
  color: #333;
  outline: none;
  transition: border-color .2s;
  -moz-appearance: textfield;
}
.pku-price-input::-webkit-outer-spin-button,
.pku-price-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pku-price-input:focus { border-color: #2db34b; }

.pku-price-sep {
  color: #aaa;
  font-size: 14px;
}

/* Category checkboxes */
.pku-filter-checks {
  list-style: none;
  margin: 0;
  padding: 0;
}

.pku-filter-checks li {
  margin-bottom: 4px;
}

.pku-filter-check-label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: #444;
  cursor: pointer;
  padding: 3px 0;
  transition: color .15s;
}

.pku-filter-check-label:hover { color: #2db34b; }

.pku-filter-check-label input[type="checkbox"] {
  width: 15px;
  height: 15px;
  accent-color: #2db34b;
  cursor: pointer;
  flex-shrink: 0;
}

/* Filter buttons */
.pku-filter-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 14px;
}

.pku-filter-btn {
  flex: 1;
  padding: 9px 12px;
  background: #2db34b;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s;
}
.pku-filter-btn:hover { background: #229e3c; }

.pku-filter-reset {
  font-size: 12px;
  color: #aaa;
  text-decoration: none;
  white-space: nowrap;
  transition: color .15s;
}
.pku-filter-reset:hover { color: #e74c3c; }

/* ══ Sidebar: Promowane produkty ══════════════════════════════════════════ */
.pku-sidebar-promo {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.pku-sidebar-promo-item {}

.pku-sidebar-promo-link {
  display: flex;
  align-items: center;
  gap: 10px;
  text-decoration: none;
  padding: 6px;
  border-radius: 8px;
  transition: background .15s;
}
.pku-sidebar-promo-link:hover { background: #f7fdf9; }

.pku-sidebar-promo-img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 7px;
  flex-shrink: 0;
  border: 1px solid #eee;
  background: #f5f5f5;
}

.pku-sidebar-promo-placeholder {
  background: #f0f0f0;
}

/* ══ Sidebar promo: dots + rotation ═══════════════════════════════════════ */
.pku-sidebar-promo-wrap { position: relative; }

.pku-promo-dots {
  display: flex;
  justify-content: center;
  gap: 5px;
  margin-top: 10px;
}

.pku-promo-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #d8d8d8;
  display: inline-block;
  transition: background .25s, transform .25s;
}

.pku-promo-dot.active {
  background: #2db34b;
  transform: scale(1.25);
}



.pku-sidebar-promo-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}

.pku-sidebar-promo-title {
  font-size: 12px;
  font-weight: 600;
  color: #222;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pku-sidebar-promo-price {
  font-size: 13px;
  font-weight: 700;
  color: #2db34b;
}
.pku-sidebar-promo-price .woocommerce-Price-amount { color: #2db34b; }
.pku-sidebar-promo-price del .woocommerce-Price-amount { color: #aaa; font-weight: 400; font-size: 11px; }
.pku-sidebar-promo-price ins { text-decoration: none; }
.pku-sidebar-promo-price ins .woocommerce-Price-amount { color: #c0392b; }

.pku-cat-count {
  font-size: 11px;
  color: #bbb;
  flex-shrink: 0;
}

/* Sidebar search */
.pku-sidebar-search {
  display: flex;
  gap: 0;
}
.pku-sidebar-search input[type="search"],
.pku-sidebar-search input[type="text"] {
  flex: 1;
  border: 1.5px solid #e0e0e0;
  border-right: none;
  border-radius: 6px 0 0 6px;
  padding: 8px 10px;
  font-size: 13px;
  outline: none;
  color: #333;
  background: #fafafa;
  min-width: 0;
  font-family: inherit;
  transition: border-color .2s;
}
.pku-sidebar-search input:focus {
  border-color: #2db34b;
  background: #fff;
}
.pku-sidebar-search button {
  background: #2db34b;
  color: #fff;
  border: none;
  border-radius: 0 6px 6px 0;
  padding: 8px 12px;
  cursor: pointer;
  display: flex;
  align-items: center;
  transition: background .2s;
  flex-shrink: 0;
}
.pku-sidebar-search button:hover { background: #25a041; }

/* ── Main column ── */
.pku-shop-main {
  flex: 1;
  min-width: 0;
}

/* ── Toolbar ── */
.pku-products-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 16px;
  border-bottom: 1px solid #e5e5e5;
  margin-bottom: 22px;
  flex-wrap: wrap;
  gap: 10px;
}
.pku-results-count {
  font-size: 13px;
  color: #888;
}
.pku-toolbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* ── View toggle ── */
.pku-view-toggle {
  display: flex;
  gap: 3px;
  background: #f4f4f4;
  border-radius: 7px;
  padding: 3px;
}
.pku-view-btn {
  background: none;
  border: none;
  border-radius: 5px;
  padding: 5px 8px;
  cursor: pointer;
  color: #aaa;
  line-height: 0;
  transition: background .15s, color .15s;
}
.pku-view-btn:hover { color: #666; }
.pku-view-btn.active {
  background: #fff;
  color: #2db34b;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* ── Sort select (reused) ── */
.pku-sort-wrap { display: flex; align-items: center; gap: 8px; }
.pku-sort-label { font-size: 13px; font-weight: 600; color: #555; white-space: nowrap; }
.pku-sort-select-wrap { position: relative; }
.pku-sort-select-wrap::after {
  content: "";
  position: absolute;
  right: 11px; top: 50%;
  transform: translateY(-50%);
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-top: 5px solid #666;
  pointer-events: none;
}
.pku-sort-select {
  appearance: none; -webkit-appearance: none;
  background: #fff;
  border: 1.5px solid #e0e0e0;
  border-radius: 6px;
  padding: 7px 30px 7px 11px;
  font-size: 13px;
  color: #333;
  cursor: pointer;
  outline: none;
  min-width: 155px;
  font-family: inherit;
  transition: border-color .2s;
}
.pku-sort-select:hover, .pku-sort-select:focus { border-color: #2db34b; }

/* ── Product loop wrap ── */
.pku-product-loop-wrap { width: 100%; }

/* Grid view — let Astra handle the grid, just reset any bad overrides */
.pku-view-grid ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  margin: 0 !important;
}

/* LIST view — horizontal card */
.pku-view-list ul.products {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
  margin: 0 !important;
}
.pku-view-list ul.products li.product {
  display: flex !important;
  flex-direction: row !important;
  align-items: stretch !important;
  gap: 0 !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: 10px !important;
  padding: 0 !important;
  background: #fff !important;
  box-shadow: 0 1px 5px rgba(0,0,0,0.05) !important;
  overflow: hidden !important;
  width: 100% !important;
}
.pku-view-list ul.products li.product .astra-shop-thumbnail-wrap {
  flex: 0 0 190px !important;
  width: 190px !important;
  max-width: 190px !important;
  min-height: 160px !important;
  display: flex !important;
  align-items: center !important;
  background: #f9f9f9 !important;
  padding: 12px !important;
}
.pku-view-list ul.products li.product .astra-shop-thumbnail-wrap img {
  width: 100% !important;
  height: 150px !important;
  object-fit: contain !important;
}
.pku-view-list ul.products li.product .astra-shop-summary-wrap {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 16px 20px !important;
}
.pku-view-list ul.products li.product .woocommerce-loop-product__title {
  font-size: 15px !important;
  margin: 0 0 8px !important;
  line-height: 1.4 !important;
}
.pku-view-list ul.products li.product .price {
  font-size: 15px !important;
  margin: 0 0 12px !important;
}
/* Keep add-to-cart button left-aligned in list view */
.pku-view-list ul.products li.product .ast-on-card-button { display: none !important; }
.pku-view-list ul.products li.product .button {
  display: inline-block !important;
  width: auto !important;
  align-self: flex-start !important;
}

/* ── Fix del (crossed) price color everywhere on these pages ── */
.pku-product-loop-wrap .price del,
.pku-product-loop-wrap .price del .woocommerce-Price-amount {
  color: #aaa !important;
  opacity: 1 !important;
  font-size: 0.9em !important;
}
.pku-product-loop-wrap .price ins,
.pku-product-loop-wrap .price ins .woocommerce-Price-amount {
  color: inherit !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

/* ── Hide wishlist button on product loop cards ── */
.pku-product-loop-wrap .ast-on-card-button.tinvwl_add_to_wishlist_button,
.pku-product-loop-wrap .tinvwl-loop-button-wrapper,
.pku-product-loop-wrap .ast-woo-card-wishlist-button {
  display: none !important;
}

/* ── Pagination ── */
.pku-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  margin: 36px 0 16px;
  flex-wrap: wrap;
}
.pku-page-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 38px;
  height: 38px;
  padding: 0 10px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none !important;
  border: 1.5px solid #e0e0e0;
  background: #fff;
  color: #444;
  transition: all .15s;
}
a.pku-page-btn:hover { border-color: #2db34b; color: #2db34b; background: #f0faf3; }
.pku-page-current {
  background: #2db34b !important;
  border-color: #2db34b !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.pku-page-prev, .pku-page-next { font-size: 20px; line-height: 1; padding: 0 13px; }
.pku-page-ellipsis { display: inline-flex; align-items: center; min-width: 24px; height: 38px; color: #bbb; justify-content: center; }
.pku-no-products { padding: 40px; text-align: center; color: #999; font-size: 15px; }

/* Tytuł strony wyśrodkowany */
.page-id-5523 .entry-title,
.page-id-5524 .entry-title,
.page-id-5525 .entry-title { text-align: center; }

/* Ukryj Astra entry-title na stronie Polecane — shortcode renderuje własny h1 */
.page-id-5526 .entry-title,
.page-id-5526 .ast-blog-single-element.entry-title-wrap { display: none !important; }

/* ── Responsive ── */
@media (max-width: 700px) {
  .pku-shop-wrap { flex-direction: column; gap: 20px; }
  .pku-sidebar { flex: none; width: 100%; position: static; }
  .pku-view-grid ul.products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 540px) {
  .pku-view-grid ul.products { grid-template-columns: 1fr !important; }
  .pku-view-list ul.products li.product { flex-direction: column !important; }
  .pku-view-list ul.products li.product .astra-shop-thumbnail-wrap {
    flex: none !important; width: 100% !important; max-width: 100% !important;
  }
}

/* Ukryj przycisk wishlist na kartach produktów w pętli */
.woocommerce ul.products li.product .tinvwl-loop-button-wrapper,
.woocommerce ul.products li.product .tinv-wishlist,
.pku-product-loop-wrap .tinvwl-loop-button-wrapper,
.pku-product-loop-wrap .tinv-wishlist { display: none !important; }

/* Hide WooSW & TI wishlist buttons in product loop */
.woocommerce ul.products li.product .woosw-btn,
.woocommerce ul.products li.product button.woosw-btn,
.pku-product-loop-wrap .woosw-btn,
.woocommerce ul.products li.product .tinvwl-loop-button-wrapper,
.woocommerce ul.products li.product .tinv-wishlist { display: none !important; }

/* Fix add-to-cart button in grid loop — compact */
.pku-view-grid ul.products li.product .button.add_to_cart_button,
.pku-view-grid ul.products li.product .ast-on-card-button + .button,
.pku-view-grid ul.products li.product a.button {
  font-size: 12px !important;
  padding: 9px 10px !important;
  white-space: normal !important;
  line-height: 1.3 !important;
  min-height: 0 !important;
  height: auto !important;
  width: 100% !important;
  text-align: center !important;
}

/* ── pku-cards-grid (Promocje/Nowości/Popularne) ── */
.pku-cards-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

/* LIST VIEW dla pku-cards-grid */
.pku-cards-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 14px !important;
}
.pku-cards-list .pku-product-card {
  flex-direction: row !important;
  border-radius: 10px !important;
  align-items: stretch !important;
}
/* Obraz po lewej */
.pku-cards-list .pku-product-card .pku-card-img {
  flex: 0 0 200px !important;
  width: 200px !important;
  min-height: 180px !important;
}
.pku-cards-list .pku-product-card .pku-card-img img {
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  padding: 16px !important;
}
/* Treść po prawej */
.pku-cards-list .pku-product-card .pku-card-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 16px 20px !important;
  justify-content: center !important;
}
.pku-cards-list .pku-product-card h3.pku-card-title {
  white-space: normal !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 0 0 8px !important;
  margin: 0 !important;
  color: #1a1a1a !important;
  line-height: 1.4 !important;
}
/* Krótki opis — widoczny tylko w widoku listy */
.pku-cards-list .pku-product-card .pku-card-excerpt {
  font-size: 12px;
  color: #999;
  line-height: 1.45;
  margin: 3px 0 8px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  font-weight: 400;
}
.pku-cards-list .pku-product-card .pku-card-price {
  padding: 0 0 12px !important;
  font-size: 17px !important;
  margin: 0 !important;
}
/* Przycisk wycentrowany */
.pku-cards-list .pku-product-card .pku-card-action {
  display: flex !important;
  justify-content: center !important;
}
.pku-cards-list .pku-product-card .pku-card-action .add_to_cart_button,
.pku-cards-list .pku-product-card .pku-card-action .button {
  width: auto !important;
  min-width: 180px !important;
  padding: 10px 28px !important;
  margin: 0 !important;
  font-size: 13px !important;
  text-align: center !important;
}

@media (max-width: 700px) {
  .pku-cards-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 540px) {
  .pku-cards-grid { grid-template-columns: 1fr; }
  .pku-cards-list .pku-product-card { flex-direction: column !important; }
  .pku-cards-list .pku-product-card .pku-card-img { flex: none !important; width: 100% !important; }
}

/* Grid view: pku-card-body layout */
.pku-cards-grid .pku-product-card .pku-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* Excerpt w grid — mały, 2 linie z ... */
.pku-cards-grid .pku-card-excerpt {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  max-height: 2.8em; /* fallback: 2 × 1.4 line-height */
  font-size: 12px;
  color: #aaa;
  line-height: 1.4;
  margin: 2px 0 6px;
  padding: 0 10px;
  font-weight: 400;
}
/* Grid view: button full width at bottom */
.pku-cards-grid .pku-product-card .pku-card-action {
  margin-top: auto;
}
.pku-cards-grid .pku-product-card .pku-card-action .add_to_cart_button,
.pku-cards-grid .pku-product-card .pku-card-action .button {
  display: block !important;
  width: calc(100% - 20px) !important;
  margin: 4px 10px 10px !important;
  padding: 9px 8px !important;
  background: #2db34b !important;
  color: #fff !important;
  border-radius: 6px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-align: center !important;
  border: none !important;
  text-decoration: none !important;
}



/* ══ WooCommerce archive: wyrównaj do layoutu zwykłych stron ════════════ */

/* Taki sam padding jak .ast-article-single (1.5em 2.14em na desktop) */
.ast-woo-shop-archive .ast-woocommerce-container {
  padding: 1.5em 2.14em;
}
@media (max-width: 768px) {
  .ast-woo-shop-archive .ast-woocommerce-container {
    padding: 1.5em 1em;
  }
}

/* Biały background + border-radius jak .ast-article-single w ast-separate-container */
.woocommerce.ast-separate-container .ast-woocommerce-container {
  background: #fff;
  border-radius: 0;
}

/* Usuń domyślne breadcrumbs Astry na stronach kategorii – mamy własny tytuł */
.ast-woo-shop-archive .woocommerce-breadcrumb {
  display: none;
}

/* pku-shop-page-title – dopasuj odstępy */



/* ══ Shop: breadcrumb + tytuł kategorii ════════════════════════════════ */
.pku-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px;
  font-size: 13px;
  color: #888;
  margin-bottom: 8px;
}

.pku-breadcrumb-link {
  color: #2db34b;
  text-decoration: none;
  transition: color .15s;
}
.pku-breadcrumb-link:hover {
  color: #1a8f37;
  text-decoration: underline;
}

.pku-breadcrumb-sep {
  color: #bbb;
  font-size: 12px;
  margin: 0 1px;
}

.pku-breadcrumb-current {
  color: #555;
  font-weight: 500;
}

.pku-shop-heading {
  font-size: 24px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 20px 0 !important;
  padding: 0 !important;
  line-height: 1.2 !important;
}

.pku-no-products {
  padding: 40px 20px;
  text-align: center;
  color: #888;
  font-size: 15px;
}

/* Ukryj Astra breadcrumb (zastępujemy własnym) */
.ast-woo-shop-archive .woocommerce-breadcrumb {
  display: none !important;
}
/* Ukryj tytuł strony WC generowany przez Astrę (jeśli jest) */
.ast-woo-shop-archive .ast-archive-description,
.ast-woo-shop-archive .woocommerce-products-header {
  display: none !important;
}


/* ═══════════════════════════════════════════════════════
   PKU FOOTER
   ═══════════════════════════════════════════════════════ */

/* Ukryj natywną stopkę Astry jeśli się pojawi */
#ast-footer-overlay,
.ast-footer-overlay,
footer.site-footer > .ast-footer-overlay {
  display: none !important;
}

.pku-footer {
  background: #f8f6f3;
  color: #444;
  font-size: 14px;
  line-height: 1.6;
  margin-top: 0;
  border-top: 2px solid #e0ddd8;
}

.pku-footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 56px 24px 40px;
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1.4fr;
  gap: 40px 32px;
}

@media (max-width: 920px) {
  .pku-footer-inner {
    grid-template-columns: 1fr 1fr;
    gap: 36px 28px;
    padding: 40px 20px 28px;
  }
}
@media (max-width: 540px) {
  .pku-footer-inner {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 32px 16px 24px;
  }
}

/* Logo */
.pku-footer-logo-link {
  display: inline-block;
  margin-bottom: 14px;
}
.pku-footer-logo {
  height: 44px;
  width: auto;
}

/* Slogan */
.pku-footer-slogan {
  color: #666;
  font-size: 13px;
  line-height: 1.55;
  margin: 0 0 18px;
}

/* Kontakt */
.pku-footer-contact {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.pku-footer-contact li {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #555;
  font-size: 13px;
}
.pku-footer-contact li svg {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: #2db34b;
}
.pku-footer-contact a {
  color: #555;
  text-decoration: none;
  transition: color .15s;
}
.pku-footer-contact a:hover {
  color: #2db34b;
}

/* Heading */
.pku-footer-heading {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  margin: 0 0 18px 0 !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #e8e8e8 !important;
}

/* Links list */
.pku-footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.pku-footer-links a {
  color: #555;
  text-decoration: none;
  font-size: 13.5px;
  transition: color .15s;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.pku-footer-links a::before {
  content: '•';
  color: #2db34b;
  font-size: 16px;
  line-height: 1;
}
.pku-footer-links a:hover {
  color: #2db34b;
}

/* Newsletter */
.pku-footer-col--newsletter .pku-footer-newsletter-desc {
  font-size: 13px;
  color: #666;
  margin: 0 0 16px;
  line-height: 1.55;
}
.pku-newsletter-form {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pku-newsletter-input {
  width: 100%;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1.5px solid #ddd;
  background: #fff;
  color: #333;
  font-size: 13.5px;
  outline: none;
  transition: border-color .2s;
  box-sizing: border-box;
}
.pku-newsletter-input::placeholder {
  color: #aaa;
}
.pku-newsletter-input:focus {
  border-color: #2db34b;
  background: #fff;
}
.pku-newsletter-btn {
  padding: 10px 18px;
  background: #2db34b;
  color: #fff;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background .2s, transform .1s;
  width: 100%;
}
.pku-newsletter-btn:hover {
  background: #249940;
  transform: translateY(-1px);
}
.pku-footer-newsletter-note {
  font-size: 11.5px;
  color: #999;
  margin: 10px 0 0;
  line-height: 1.4;
}
.pku-footer-newsletter-note a {
  color: #2db34b;
  text-decoration: underline;
}

/* Bottom bar */
.pku-footer-bottom {
  border-top: 1px solid #e8e8e8;
  padding: 14px 24px;
  background: #eeece9;
}
.pku-footer-bottom-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 12.5px;
  color: #999;
}
.pku-footer-bottom-links a {
  color: #999;
  text-decoration: none;
  transition: color .15s;
}
.pku-footer-bottom-links a:hover {
  color: #2db34b;
}
@media (max-width: 540px) {
  .pku-footer-bottom-inner { justify-content: center; text-align: center; }
}


/* ═══════════════════════════════════════════════════════
   STICKY FAB (Scroll-to-top + Cart)
   ═══════════════════════════════════════════════════════ */

.pku-fab-wrap {
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px);
  transition: opacity .25s, transform .25s;
}
.pku-fab-wrap.pku-fab--visible {
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
}

.pku-fab {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1 !important;
  border-radius: 50% !important;
  box-sizing: border-box !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  border: none !important;
  box-shadow: 0 3px 14px rgba(0,0,0,.22) !important;
  position: relative !important;
  text-decoration: none !important;
  transition: transform .15s, box-shadow .15s !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  flex-shrink: 0 !important;
}
.pku-fab:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 5px 18px rgba(0,0,0,.28) !important;
}
.pku-fab svg {
  flex-shrink: 0;
  display: block;
}

.pku-fab--cart {
  background: #2db34b;
  color: #fff;
}
.pku-fab--top {
  background: #fff;
  color: #1a2a1a;
}
.pku-fab--messenger {
  background: linear-gradient(135deg, #00c6ff, #0084ff);
  color: #fff;
}

.pku-fab-messenger-standalone {
  position: fixed;
  right: 22px;
  bottom: 24px;
  z-index: 9999;
  opacity: 1;
  pointer-events: all;
  transform: translateY(0);
  transition: opacity .25s, transform .25s;
}
.pku-fab-messenger-standalone--hide {
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px);
}

@media (max-width: 540px) {
  .pku-fab-messenger-standalone { right: 14px; bottom: 16px; }
}

/* Podnies Messengera (standalone + grupa) nad .pku-bottom-bar (58px, z-index 99999) —
   inaczej przycisk siedzi w strefie 0-58px od dolu i pasek go zaslania (ten sam problem
   co wczesniej z bannerem cookie, patrz komentarz przy .pku-cookie-banner--hidden). */
@media (max-width: 768px) {
  .pku-fab-messenger-standalone,
  .pku-fab-wrap {
    bottom: 74px !important;
  }
}

.pku-fab-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #e53e3e;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
}

@media (max-width: 540px) {
  .pku-fab-wrap { right: 14px; bottom: 16px; }
  .pku-fab { width: 42px; height: 42px; }
}

/* ── Filtr akordeon ─────────────────────────────── */
.pku-sidebar-widget--filters {
  padding: 0 !important;
  border: 1.5px solid #e8e8e8;
  border-radius: 10px;
  overflow: hidden;
}
.pku-sidebar-title--filters {
  padding: 11px 14px !important;
  margin: 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: #888 !important;
  border-bottom: 1px solid #e8e8e8 !important;
}
.pku-sidebar-widget--filters .pku-filter-form {
  padding: 0;
}
.pku-filter-accordion {
  border-bottom: 1px solid #e8e8e8;
}
.pku-filter-accordion:last-of-type {
  border-bottom: none;
}
.pku-filter-accordion-hd,
.pku-filter-accordion-hd:hover,
.pku-filter-accordion-hd:focus,
.pku-filter-accordion-hd:active {
  width: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 6px !important;
  padding: 10px 14px !important;
  background: #fff !important;
  background-color: #fff !important;
  background-image: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  cursor: pointer !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #333 !important;
  text-align: left !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background .15s !important;
  box-sizing: border-box !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}
.pku-filter-accordion-hd:hover {
  background: #f7f7f5 !important;
  background-color: #f7f7f5 !important;
  color: #2db34b !important;
}
.pku-filter-accordion-hd span {
  display: flex;
  align-items: center;
  gap: 6px;
  flex: 1;
}
.pku-filter-arrow {
  flex-shrink: 0;
  color: #aaa;
  transition: transform .22s;
}
.pku-filter-accordion.is-open .pku-filter-arrow {
  transform: rotate(180deg);
}
.pku-filter-badge {
  background: #2db34b;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  font-style: normal;
  border-radius: 10px;
  padding: 1px 6px;
  line-height: 1.6;
}
/* Accordion collapse — grid trick wymaga min-height:0 na inner */
.pku-filter-accordion-body {
  display: grid !important;
  grid-template-rows: 0fr !important;
  transition: grid-template-rows .25s ease !important;
}
.pku-filter-accordion.is-open .pku-filter-accordion-body {
  grid-template-rows: 1fr !important;
}
.pku-filter-accordion-inner {
  overflow: hidden !important;
  min-height: 0 !important;
}
.pku-price-range {
  padding: 4px 14px 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.pku-filter-checks {
  padding: 4px 14px 14px;
  list-style: none;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.pku-filter-actions {
  padding: 10px 14px 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-top: 1px solid #e8e8e8;
}
.pku-filter-btn {
  background: #2db34b;
  color: #fff;
  border: none;
  border-radius: 7px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s;
}
.pku-filter-btn:hover { background: #249940; }
.pku-price-input {
  width: 72px;
  padding: 7px 8px;
  border: 1.5px solid #e0e0e0;
  border-radius: 7px;
  font-size: 13px;
  box-sizing: border-box;
}
.pku-filter-check-label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 13px;
  color: #444;
  cursor: pointer;
}
.pku-filter-check-label input[type="checkbox"] {
  accent-color: #2db34b;
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
/* Odstęp między treścią strony a stopką */
#content {
  padding-bottom: 48px;
}
/* Na stronach sklepu (pku-shop-wrap) padding już jest, nie dubluj */
.ast-woo-shop-archive #content,
.woocommerce-page #content {
  padding-bottom: 0;
}

/* ═══════════════════════════════════════════════════════
   STRONA LOGOWANIA / MOJE KONTO
   ═══════════════════════════════════════════════════════ */

/* Ukryj angielski tytuł "My account" */
.woocommerce-account .entry-title {
  display: none !important;
}

/* Centralny kontener formularzy logowania/rejestracji */
.pku-login-wrap {
  max-width: 500px;
  margin: 0 auto;
  padding: 0 16px;
}

/* Układ: logowanie po lewej, rejestracja po prawej */
.woocommerce-account:not(.logged-in) .woocommerce {
  display: block;
}
.woocommerce-account:not(.logged-in) .woocommerce > .woocommerce-notices-wrapper {
  max-width: 900px;
  margin: 0 auto;
}

/* Nagłówek sekcji (Logowanie / Rejestracja) */
.woocommerce-account .woocommerce h2 {
  font-size: 20px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 20px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #2db34b !important;
  text-align: center !important;
}

/* Formularz — karta */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  background: #fff !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 14px !important;
  padding: 32px 32px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  margin-bottom: 24px !important;
  max-width: 460px !important;
}

/* Pola formularza */
.woocommerce-account .woocommerce-Input--text,
.woocommerce-account .woocommerce-Input--email,
.woocommerce-account .woocommerce-Input--password,
.woocommerce-account input[type="text"],
.woocommerce-account input[type="email"],
.woocommerce-account input[type="password"] {
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color .2s !important;
  background: #fafafa !important;
}
.woocommerce-account input[type="text"]:focus,
.woocommerce-account input[type="email"]:focus,
.woocommerce-account input[type="password"]:focus {
  border-color: #2db34b !important;
  background: #fff !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45,179,75,.12) !important;
}

/* Label */
.woocommerce-account .woocommerce-form-row label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #444 !important;
  margin-bottom: 5px !important;
  display: block !important;
}

/* Przycisk Zaloguj/Zarejestruj */
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit,
.woocommerce-account .woocommerce-Button {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 11px 28px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .15s, transform .1s !important;
  letter-spacing: .02em !important;
  text-transform: none !important;
}
.woocommerce-account .woocommerce-form-login__submit:hover,
.woocommerce-account .woocommerce-form-register__submit:hover {
  background: #249940 !important;
  transform: translateY(-1px) !important;
}

/* Checkbox "Zapamiętaj mnie" */
.woocommerce-account .woocommerce-form__label-for-checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: #555 !important;
  cursor: pointer !important;
}
.woocommerce-account .woocommerce-form__input-checkbox {
  accent-color: #2db34b !important;
  width: 15px !important;
  height: 15px !important;
}

/* Zapomniane hasło */
.woocommerce-account .woocommerce-LostPassword a {
  color: #2db34b !important;
  font-size: 13px !important;
  text-decoration: none !important;
}
.woocommerce-account .woocommerce-LostPassword a:hover {
  text-decoration: underline !important;
}

/* Przyciski Google */
.pku-social-login {
  margin-bottom: 20px;
}
.pku-google-btn {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  padding: 11px 18px !important;
  background: #fff !important;
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: border-color .2s, box-shadow .2s !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}
.pku-google-btn:hover {
  border-color: #4285F4 !important;
  box-shadow: 0 2px 8px rgba(66,133,244,.15) !important;
  color: #333 !important;
}
.pku-google-btn--disabled {
  opacity: .7;
  cursor: default !important;
}
.pku-social-note {
  font-size: 12px !important;
  color: #999 !important;
  margin: 8px 0 0 !important;
  text-align: center !important;
}
.pku-social-note a {
  color: #2db34b !important;
}

/* Separator "lub" */
.pku-or-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  color: #bbb;
  font-size: 12px;
}
.pku-or-divider::before,
.pku-or-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #e8e8e8;
}

/* NSL (Nextend) button styling */
.woocommerce-account .nsl-container .nsl-button-google {
  border-radius: 8px !important;
  border: 1.5px solid #ddd !important;
  box-shadow: none !important;
}

/* Formularz wypełnia całą szerokość wrappera */
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  max-width: 100% !important;
}
@media (max-width: 768px) {
  .woocommerce-account .woocommerce-form-login,
  .woocommerce-account .woocommerce-form-register {
    padding: 24px 20px !important;
    max-width: 100% !important;
  }
}

/* ═══════════════════════════════════════════════════════
   POPUP "DODANO DO KOSZYKA"
   ═══════════════════════════════════════════════════════ */

/* Ukryj natywny link "Zobacz koszyk" pod przyciskiem */
.woocommerce a.added_to_cart,
a.added_to_cart.wc-forward {
  display: none !important;
}

/* Overlay */
.pku-cart-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s;
}
.pku-cart-popup-overlay.is-open {
  opacity: 1;
  pointer-events: all;
}

/* Okno popupu */
.pku-cart-popup {
  background: #fff;
  border-radius: 16px;
  padding: 28px 28px 24px;
  width: 100%;
  max-width: 400px;
  box-shadow: 0 8px 40px rgba(0,0,0,.18);
  position: relative;
  transform: translateY(20px) scale(.97);
  transition: transform .22s;
}
.pku-cart-popup-overlay.is-open .pku-cart-popup {
  transform: translateY(0) scale(1);
}

/* Przycisk zamknij */
.pku-cart-popup-close {
  position: absolute;
  top: 14px;
  right: 14px;
  background: none;
  border: none;
  cursor: pointer;
  color: #aaa;
  padding: 4px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color .15s, background .15s;
  line-height: 1;
}
.pku-cart-popup-close:hover {
  color: #333;
  background: #f0f0f0;
}

/* Nagłówek ✓ Dodano */
.pku-cart-popup-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}
.pku-cart-popup-icon {
  width: 36px;
  height: 36px;
  background: #e8f5e9;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.pku-cart-popup-title {
  font-size: 17px;
  font-weight: 700;
  color: #1a1a1a;
}

/* Produkt */
.pku-cart-popup-product {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #f8f7f5;
  border-radius: 10px;
  padding: 12px;
  margin-bottom: 14px;
}
.pku-cart-popup-img {
  width: 60px;
  height: 60px;
  object-fit: cover;
  border-radius: 8px;
  flex-shrink: 0;
  background: #eee;
}
.pku-cart-popup-product-info {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.pku-cart-popup-name {
  font-size: 13.5px;
  font-weight: 600;
  color: #222;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.pku-cart-popup-price {
  font-size: 13px;
  color: #2db34b;
  font-weight: 700;
}

/* Podsumowanie koszyka */
.pku-cart-popup-summary {
  font-size: 13px;
  color: #666;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 6px;
}
.pku-cart-popup-summary-label {
  color: #999;
}
.pku-cart-popup-count {
  font-weight: 600;
  color: #333;
}

/* Przyciski akcji */
.pku-cart-popup-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.pku-cart-popup-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 9px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background .15s, transform .1s;
  border: none;
  width: 100%;
  box-sizing: border-box;
  text-align: center;
}
.pku-cart-popup-btn--primary {
  background: #2db34b;
  color: #fff !important;
}
.pku-cart-popup-btn--primary:hover {
  background: #249940;
  transform: translateY(-1px);
  color: #fff !important;
}
.pku-cart-popup-btn--secondary {
  background: #f0f0f0;
  color: #333 !important;
}
.pku-cart-popup-btn--secondary:hover {
  background: #e4e4e4;
  color: #111 !important;
}

/* ═══════════════════════════════════════════════════════
   STRONA KOSZYKA
   ═══════════════════════════════════════════════════════ */

/* Ukryj angielski tytuł "Cart" */
.woocommerce-cart .entry-title {
  display: none !important;
}

/* Padding kontenera i artykułu — tylko koszyk i zamówienie */
.woocommerce-cart .ast-container,
.woocommerce-checkout .ast-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.woocommerce-cart .ast-article-single,
.woocommerce-checkout .ast-article-single {
  padding: 0.54em 1em 1.33333em !important;
}

/* ── Klasyczny koszyk (shortcode) ─────────────────────── */

/* Tabela produktów */
.woocommerce-cart table.shop_table {
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 12px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
  background: #fff !important;
}
.woocommerce-cart table.shop_table th {
  background: #f8f7f5 !important;
  color: #555 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  padding: 14px 16px !important;
  border-bottom: 1.5px solid #e8e8e8 !important;
}
.woocommerce-cart table.shop_table td {
  padding: 16px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  vertical-align: middle !important;
}
.woocommerce-cart table.shop_table tr:last-child td {
  border-bottom: none !important;
}
.woocommerce-cart table.shop_table .product-name a {
  color: #2db34b !important;
  font-weight: 600 !important;
  font-size: 14px !important;
}
.woocommerce-cart table.shop_table .product-thumbnail img {
  border-radius: 8px !important;
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
}
/* Przycisk usuń */
.woocommerce-cart table.shop_table a.remove {
  color: #ccc !important;
  font-size: 20px !important;
  transition: color .15s !important;
}
.woocommerce-cart table.shop_table a.remove:hover {
  color: #e53e3e !important;
  background: none !important;
}
/* Ilość */
.woocommerce-cart table.shop_table .quantity .qty {
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 7px !important;
  padding: 6px 10px !important;
  width: 68px !important;
  text-align: center !important;
  font-size: 14px !important;
}

/* Przyciski pod tabelą */
.woocommerce-cart .cart-collaterals .actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 10px !important;
  padding: 12px 0 !important;
}
.woocommerce-cart .actions .button[name="update_cart"] {
  background: #f0f0f0 !important;
  color: #333 !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 9px 20px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background .15s !important;
}
.woocommerce-cart .actions .button[name="update_cart"]:hover {
  background: #e0e0e0 !important;
}

/* Kupon przeniesiony do totals */
.pku-coupon-in-totals {
  margin-bottom: 16px;
}
.pku-coupon-in-totals .form-row {
  display: flex !important;
  gap: 8px !important;
}
.pku-coupon-in-totals input#coupon_code {
  flex: 1 !important;
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 9px 14px !important;
  font-size: 13.5px !important;
  min-width: 0 !important;
}
.pku-coupon-in-totals input#coupon_code:focus {
  border-color: #2db34b !important;
  outline: none !important;
}
.pku-coupon-in-totals .button {
  background: #fff !important;
  color: #2db34b !important;
  border: 1.5px solid #2db34b !important;
  border-radius: 8px !important;
  padding: 9px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
  transition: background .15s, color .15s !important;
}
.pku-coupon-in-totals .button:hover {
  background: #2db34b !important;
  color: #fff !important;
}

/* ══ Komunikaty WooCommerce (error/message/info) — spojne ze stylem strony ══
   Domyslnie WC renderuje je jako goly <ul>, bez zadnego brandingu. */
ul.woocommerce-error,
ul.woocommerce-message,
ul.woocommerce-info {
  list-style: none !important;
  margin: 0 0 20px !important;
  padding: 14px 18px !important;
  border-radius: 10px !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
}
ul.woocommerce-error {
  background: #fdecea !important;
  color: #a12222 !important;
  border: 1.5px solid #f2b8b5 !important;
}
ul.woocommerce-message {
  background: #eaf7ec !important;
  color: #1e6b2e !important;
  border: 1.5px solid #b7e0bf !important;
}
ul.woocommerce-info {
  background: #eef6fb !important;
  color: #1c5a80 !important;
  border: 1.5px solid #b9dcee !important;
}
ul.woocommerce-error li,
ul.woocommerce-message li,
ul.woocommerce-info li {
  margin: 0 !important;
  padding: 0 !important;
}
ul.woocommerce-message a.button,
ul.woocommerce-info a.button {
  display: inline-block !important;
  margin-top: 6px !important;
  padding: 7px 14px !important;
  border-radius: 8px !important;
  background: #2db34b !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

/* Podsumowanie koszyka */
.woocommerce-cart .cart_totals {
  background: #fff !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 12px !important;
  padding: 24px !important;
}
.woocommerce-cart .cart_totals h2 {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  margin: 0 0 18px 0 !important;
  padding-bottom: 12px !important;
  border-bottom: 2px solid #2db34b !important;
}
.woocommerce-cart .cart_totals table.shop_table {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
  background: transparent !important;
  border-bottom: 1px solid #f0f0f0 !important;
  padding: 10px 0 !important;
  font-size: 14px !important;
}
.woocommerce-cart .cart_totals .order-total td,
.woocommerce-cart .cart_totals .order-total th {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #1a1a1a !important;
  border-bottom: none !important;
}
/* Przycisk "Przejdź do płatności" */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 9px !important;
  padding: 14px 24px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  width: 100% !important;
  text-align: center !important;
  display: block !important;
  transition: background .15s !important;
  margin-top: 16px !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: #249940 !important;
}

/* ── Block Cart (WC Blocks) ───────────────────────────── */
.wc-block-cart__main {
  gap: 28px !important;
}
/* Items column */
.wc-block-cart-items {
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  background: #fff !important;
}
.wc-block-cart-items__header {
  background: #f8f7f5 !important;
  padding: 12px 16px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  color: #555 !important;
  border-bottom: 1.5px solid #e8e8e8 !important;
}
.wc-block-cart-item__image img {
  border-radius: 8px !important;
  width: 72px !important;
  height: 72px !important;
  object-fit: cover !important;
}
.wc-block-cart-item__product a {
  color: #2db34b !important;
  font-weight: 600 !important;
}
/* Order summary box */
.wc-block-cart__sidebar .wc-block-components-sidebar {
  background: #fff !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 12px !important;
  padding: 24px !important;
}
.wc-block-components-order-summary__button {
  font-size: 18px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
}
/* Checkout button in blocks */
.wc-block-cart .wc-block-components-checkout-place-order-button,
.wc-block-cart .wp-block-woocommerce-proceed-to-checkout-block a {
  background: #2db34b !important;
  border-radius: 9px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
/* Coupon in block cart */
.wc-block-cart .wc-block-components-totals-coupon__form {
  display: flex !important;
  gap: 8px !important;
}
.wc-block-cart .wc-block-components-totals-coupon__input {
  border-radius: 8px !important;
}

/* ═══════════════════════════════════════════════════════
   ASTRA CART DRAWER (wysuwa się z boku)
   ═══════════════════════════════════════════════════════ */

/* Sam drawer */
.astra-cart-drawer {
  background: #fff !important;
  border: none !important;
  border-left: 1px solid #e8e8e8 !important;
  box-shadow: -4px 0 32px rgba(0,0,0,.12) !important;
  width: 420px !important;
  max-width: 92vw !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Nagłówek drawera */
.astra-cart-drawer-header,
.astra-cart-drawer .astra-cart-drawer-header {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 18px 20px !important;
  border-bottom: 1.5px solid #e8e8e8 !important;
  background: #fff !important;
  flex-shrink: 0 !important;
  width: auto !important;
  max-height: none !important;
  z-index: 2 !important;
}

.astra-cart-drawer-title {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
  letter-spacing: 0 !important;
}

/* Przycisk zamknij */
.astra-cart-drawer-close {
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;
  background: #f5f5f5 !important;
  border: none !important;
  border-radius: 50% !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #555 !important;
  transition: background .15s, color .15s !important;
  flex-shrink: 0 !important;
}
.astra-cart-drawer-close:hover {
  background: #ffe8e8 !important;
  color: #e53e3e !important;
}
.astra-cart-drawer-close svg,
.astra-cart-drawer-close .ast-icon {
  width: 16px !important;
  height: 16px !important;
}

/* Zawartość drawera */
.astra-cart-drawer-content,
.astra-cart-drawer .astra-cart-drawer-content {
  flex: 1 !important;
  overflow-y: auto !important;
  padding: 0 !important;
  padding-top: 0 !important;
  height: auto !important;
}
.astra-cart-drawer .astra-cart-drawer-content .widget_shopping_cart,
.astra-cart-drawer .astra-cart-drawer-content .widget_shopping_cart_content {
  height: auto !important;
}

/* Mini-koszyk WooCommerce */
.astra-cart-drawer .woocommerce-mini-cart {
  padding: 0 !important;
  margin: 0 !important;
  list-style: none !important;
}

.astra-cart-drawer .woocommerce-mini-cart__empty-message {
  padding: 40px 20px !important;
  text-align: center !important;
  color: #999 !important;
  font-size: 14px !important;
}

/* Każdy produkt w drawer */
.astra-cart-drawer .woocommerce-mini-cart-item {
  display: block !important;
  padding: 14px 18px !important;
  border-bottom: 1px solid #f0f0f0 !important;
  position: relative !important;
}
.astra-cart-drawer .woocommerce-mini-cart-item:last-child {
  border-bottom: none !important;
}

/* Rząd: zdjęcie + info — flex container (link lub div) */
.astra-cart-drawer .pku-mini-cart-row {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  text-decoration: none !important;
  color: #222 !important;
  padding-right: 32px !important;
}
.astra-cart-drawer a.pku-mini-cart-link:hover .pku-mini-cart-name {
  color: #2db34b !important;
}

/* Wrapper zdjęcia */
.astra-cart-drawer .pku-mini-cart-img-wrap {
  flex-shrink: 0 !important;
  display: block !important;
  width: 64px !important;
}

/* Zdjęcie produktu */
.astra-cart-drawer .woocommerce-mini-cart-item img {
  width: 64px !important;
  height: 64px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
  display: block !important;
  border: 1px solid #f0f0f0 !important;
  float: none !important;
}

/* Kolumna z nazwą i ceną */
.astra-cart-drawer .pku-mini-cart-info {
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  min-width: 0 !important;
  flex: 1 !important;
}

/* Nazwa produktu */
.astra-cart-drawer .pku-mini-cart-name {
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #222 !important;
  line-height: 1.4 !important;
  display: block !important;
  word-break: break-word !important;
}

/* Ilość × cena */
.astra-cart-drawer .pku-mini-cart-qty {
  font-size: 13px !important;
  color: #666 !important;
  display: block !important;
}
.astra-cart-drawer .pku-mini-cart-qty .woocommerce-Price-amount {
  color: #2db34b !important;
  font-weight: 700 !important;
}

/* Ukryj elementy Astry / WC które powielają cenę */
.astra-cart-drawer .woocommerce-mini-cart-item > .quantity,
.astra-cart-drawer .woocommerce-mini-cart-item .ast-mini-cart-price-wrap {
  display: none !important;
}

/* Przycisk usuń × */
.astra-cart-drawer .woocommerce-mini-cart-item .remove {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  width: 22px !important;
  height: 22px !important;
  background: #f5f5f5 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 14px !important;
  line-height: 1 !important;
  color: #aaa !important;
  text-decoration: none !important;
  transition: background .15s, color .15s !important;
}
.astra-cart-drawer .woocommerce-mini-cart-item .remove:hover {
  background: #ffe8e8 !important;
  color: #e53e3e !important;
}

/* Stopka drawera — kwota + przyciski */
.astra-cart-drawer .woocommerce-mini-cart__total {
  padding: 16px 20px 12px !important;
  border-top: 1.5px solid #e8e8e8 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 15px !important;
  background: #fff !important;
}
.astra-cart-drawer .woocommerce-mini-cart__total strong {
  color: #1a1a1a !important;
  font-weight: 700 !important;
}
.astra-cart-drawer .woocommerce-mini-cart__total .woocommerce-Price-amount {
  color: #2db34b !important;
  font-size: 17px !important;
  font-weight: 700 !important;
}

/* Przyciski koszyk / zamówienie */
.astra-cart-drawer .woocommerce-mini-cart__buttons {
  padding: 0 20px 20px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  background: #fff !important;
}
.astra-cart-drawer .woocommerce-mini-cart__buttons a {
  display: block !important;
  width: 100% !important;
  padding: 12px 20px !important;
  text-align: center !important;
  border-radius: 9px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background .15s, transform .1s !important;
  box-sizing: border-box !important;
}
/* "Wyświetl koszyk" — drugoplanowy */
.astra-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: #f0f0f0 !important;
  color: #333 !important;
  border: none !important;
}
.astra-cart-drawer .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
  background: #e4e4e4 !important;
}
/* "Zamówienie" — główny zielony */
.astra-cart-drawer .woocommerce-mini-cart__buttons .checkout {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
}
.astra-cart-drawer .woocommerce-mini-cart__buttons .checkout:hover {
  background: #249940 !important;
  transform: translateY(-1px) !important;
}

/* Overlay przy otwartym drawer */
.astra-cart-drawer-overlay {
  background: rgba(0,0,0,.4) !important;
}

/* Desktop flyout (hover dropdown) */
.ast-desktop-cart-flyout .widget_shopping_cart {
  background: #fff !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 32px rgba(0,0,0,.12) !important;
  padding: 0 !important;
  min-width: 300px !important;
  overflow: hidden !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart {
  max-height: 320px !important;
  overflow-y: auto !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  padding: 12px 16px !important;
  border-bottom: 1px solid #f0f0f0 !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart-item img {
  width: 52px !important;
  height: 52px !important;
  object-fit: cover !important;
  border-radius: 7px !important;
  flex-shrink: 0 !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart-item a:not(.remove) {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #222 !important;
  text-decoration: none !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart-item a:not(.remove):hover {
  color: #2db34b !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart__total {
  padding: 12px 16px !important;
  border-top: 1.5px solid #e8e8e8 !important;
  display: flex !important;
  justify-content: space-between !important;
  font-size: 14px !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart__total .woocommerce-Price-amount {
  color: #2db34b !important;
  font-weight: 700 !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart__buttons {
  padding: 10px 16px 14px !important;
  display: flex !important;
  gap: 8px !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart__buttons a {
  flex: 1 !important;
  padding: 9px 12px !important;
  text-align: center !important;
  border-radius: 8px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background: #f0f0f0 !important;
  color: #333 !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart__buttons .checkout {
  background: #2db34b !important;
  color: #fff !important;
}
.ast-desktop-cart-flyout .woocommerce-mini-cart__buttons .checkout:hover {
  background: #249940 !important;
}



/* ═══════════════════════════════════════════════════════
   STRONY INFORMACYJNE — padding i typography
   (ast-page-builder-template usuwa padding z ast-container)
   ═══════════════════════════════════════════════════════ */

/* Kontener treści na zwykłych stronach */
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .site-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 28px 60px;
  box-sizing: border-box;
  width: 100%;
}
/* Wąskie strony z długim tekstem — regulamin/polityki */
body.page-id-5560 .site-main,
body.page-id-5589 .site-main,
body.page-id-3 .site-main,
body.page-id-5614 .site-main {
  max-width: 860px !important;
}

/* Typography na stronach informacyjnych */
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content h1 {
  font-size: 2rem;
  font-weight: 700;
  color: #1a2a1a;
  margin: 0 0 24px;
  padding-bottom: 12px;
  border-bottom: 3px solid #2db34b;
  line-height: 1.3;
}
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #1a2a1a;
  margin: 36px 0 12px;
  padding-left: 12px;
  border-left: 4px solid #2db34b;
}
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #2db34b;
  margin: 24px 0 8px;
}
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content p {
  font-size: 0.95rem;
  line-height: 1.75;
  color: #444;
  margin: 0 0 14px;
}
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content ul,
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content ol {
  padding-left: 24px;
  margin: 0 0 16px;
}
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content li {
  font-size: 0.95rem;
  line-height: 1.75;
  color: #444;
  margin-bottom: 6px;
}
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page):not(.pku-has-shop) .entry-content a:not(.button):not(.add_to_cart_button):not(.wp-block-button__link) {
  color: #2db34b;
  text-decoration: underline;
}
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page):not(.pku-has-shop) .entry-content a:not(.button):not(.add_to_cart_button):not(.wp-block-button__link):hover {
  color: #1e8a38;
}
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content strong {
  color: #222;
}

/* ═══════════════════════════════════════════════════════
   STRONA KOSZYKA
   ═══════════════════════════════════════════════════════ */

/* Padding na stronie koszyka */
.woocommerce-cart .ast-container,
.woocommerce-cart #primary {
  max-width: 1200px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Tytuł strony koszyka */
.woocommerce-cart .entry-title {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #1a2a1a !important;
  margin-bottom: 24px !important;
  padding-bottom: 12px !important;
  border-bottom: 3px solid #2db34b !important;
}

/* Przycisk "Wróć do sklepu" */
.woocommerce .return-to-shop .button,
.woocommerce-cart .return-to-shop a,
.woocommerce a.button.wc-backward {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 12px 28px !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  text-decoration: none !important;
  display: inline-block !important;
  transition: background .2s !important;
}
.woocommerce .return-to-shop .button:hover,
.woocommerce-cart .return-to-shop a:hover,
.woocommerce a.button.wc-backward:hover {
  background: #1e8a38 !important;
  color: #fff !important;
}

/* Pusty koszyk */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-empty.woocommerce-info {
  padding: 0 !important;
  margin: 0 0 20px !important;
  background: transparent !important;
  border: none !important;
  font-size: 1rem !important;
  color: #555 !important;
}

/* ═══════════════════════════════════════════════════════
   STRONA ZAMÓWIENIA (CHECKOUT)
   ═══════════════════════════════════════════════════════ */

/* Padding checkout */
.woocommerce-checkout .ast-container {
  max-width: 1100px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Tytuł checkoutu */
.woocommerce-checkout .entry-title {
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: #1a2a1a !important;
  margin-bottom: 16px !important;
  padding-bottom: 0 !important;
  border-bottom: none !important;
  text-align: center !important;
}
/* Ukryj kupon na checkout */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon {
  display: none !important;
}

/* Formularze checkout */
.woocommerce-checkout #customer_details .woocommerce-billing-fields h3,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields h3,
.woocommerce-checkout #order_review_heading {
  font-size: 1.1rem !important;
  font-weight: 700 !important;
  color: #1a2a1a !important;
  margin: 0 0 16px !important;
  padding-bottom: 8px !important;
  border-bottom: 2px solid #e8e8e8 !important;
}
.woocommerce-checkout .form-row label {
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #555 !important;
  margin-bottom: 4px !important;
}
.woocommerce-checkout .form-row input,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  background: #fff !important;
  transition: border-color .2s !important;
}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
  border-color: #2db34b !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45,179,75,.12) !important;
}

/* Podsumowanie zamówienia checkout */
.woocommerce-checkout #order_review {
  background: #fff !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 14px !important;
  padding: 24px !important;
}
.woocommerce-checkout table.shop_table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.woocommerce-checkout table.shop_table th {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #888 !important;
  text-transform: uppercase !important;
  padding: 8px 0 12px !important;
  border-bottom: 2px solid #f0f0f0 !important;
}
.woocommerce-checkout table.shop_table td {
  padding: 10px 0 !important;
  border-bottom: 1px solid #f5f5f5 !important;
  font-size: 14px !important;
  color: #333 !important;
}
.woocommerce-checkout table.shop_table .order-total td {
  font-weight: 700 !important;
  color: #2db34b !important;
  font-size: 16px !important;
}

/* Przycisk "Złóż zamówienie" */
#place_order,
.woocommerce-checkout #place_order {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 14px 28px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  width: 100% !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin-top: 16px !important;
  transition: background .2s !important;
}
#place_order:hover {
  background: #1e8a38 !important;
}

/* ═══════════════════════════════════════════════════════
   MOJE KONTO — DASHBOARD (zalogowany)
   ═══════════════════════════════════════════════════════ */

/* Padding strony konta */
.woocommerce-account .ast-container {
  padding: 32px 28px !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Layout dashboard */
.woocommerce-account.logged-in .woocommerce {
  display: flex !important;
  gap: 32px !important;
  align-items: flex-start !important;
}
.woocommerce-account.logged-in .woocommerce {
  flex-direction: row !important;
}

/* Boczna nawigacja */
.woocommerce-account .woocommerce-MyAccount-navigation {
  flex: 0 0 220px !important;
  min-width: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #fff !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid #f0f0f0 !important;
  margin: 0 !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
  display: block !important;
  padding: 12px 18px !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  color: #333 !important;
  text-decoration: none !important;
  transition: background .15s, color .15s !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
  background: #e8f5e9 !important;
  color: #2db34b !important;
  font-weight: 600 !important;
}

/* Główna treść konta */
.woocommerce-account .woocommerce-MyAccount-content {
  flex: 1 1 0 !important;
  min-width: 0 !important;
  background: #fff !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 12px !important;
  padding: 24px !important;
}

/* Tabela zamówień */
.woocommerce-account .woocommerce-orders-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 13.5px !important;
}
.woocommerce-account .woocommerce-orders-table thead th {
  text-align: left !important;
  font-weight: 600 !important;
  color: #888 !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  padding: 0 12px 10px !important;
  border-bottom: 2px solid #f0f0f0 !important;
}
.woocommerce-account .woocommerce-orders-table tbody td {
  padding: 12px !important;
  border-bottom: 1px solid #f5f5f5 !important;
  color: #333 !important;
}
.woocommerce-account .woocommerce-orders-table .woocommerce-button.button {
  background: #2db34b !important;
  color: #fff !important;
  border-radius: 6px !important;
  padding: 6px 14px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  border: none !important;
}

/* Dashboard konta na telefonie: nav i treść w kolumnie zamiast ściśniętego wiersza */
@media (max-width: 640px) {
  .woocommerce-account .ast-container {
    padding: 20px 16px !important;
  }
  .woocommerce-account.logged-in .woocommerce {
    flex-direction: column !important;
    gap: 16px !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation {
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .woocommerce-account .woocommerce-MyAccount-content {
    width: 100% !important;
    padding: 18px !important;
  }
}



/* ═══════════════════════════════════════════════════════
   DROBNE POPRAWKI
   ═══════════════════════════════════════════════════════ */

/* Gutenberg block button — ujednolicenie koloru */
.wp-block-button__link,
.wp-block-button .wp-block-button__link {
  background-color: #2db34b !important;
  color: #fff !important;
  border-radius: 8px !important;
  text-decoration: none !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: background .2s !important;
}
.wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:hover {
  background-color: #1e8a38 !important;
  color: #fff !important;
}

/* Checkout WC Blocks — pusty koszyk przycisk */
.wc-block-checkout__empty-cart .wp-block-button__link,
.wp-block-woocommerce-checkout-order-summary-block .wp-block-button__link {
  background-color: #2db34b !important;
}

/* Regulamin — sekcja §  */
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content {
  max-width: 100%;
}

/* Dane firmy box na stronie o-firmie */
.ast-page-builder-template:not(.home) .entry-content p:has(strong:first-child) {
  background: #f8f6f3;
  border: 1px solid #e0ddd8;
  border-radius: 10px;
  padding: 16px 20px;
  font-size: 0.9rem !important;
  line-height: 1.8 !important;
}

/* Tytuł cart — ukryj bo jest pusty <h1> */
.woocommerce-cart .entry-title:empty,
.woocommerce-checkout .entry-title:empty {
  display: none !important;
}

/* Konto — formularz logowania padding fix na small-window */
.woocommerce-account .ast-container {
  padding-top: 32px !important;
  padding-bottom: 48px !important;
}

/* Formularz checkout WC Blocks */
.wp-block-woocommerce-checkout {
  max-width: 1100px !important;
  margin: 0 auto !important;
}
.wc-block-checkout__form .wp-block-woocommerce-checkout-fields-block {
  background: #fff !important;
  border: 1.5px solid #e8e8e8 !important;
  border-radius: 14px !important;
  padding: 24px !important;
}
.wc-block-checkout__form input[type="text"],
.wc-block-checkout__form input[type="email"],
.wc-block-checkout__form input[type="tel"],
.wc-block-checkout__form select {
  border: 1.5px solid #e0e0e0 !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.wc-block-checkout__form input:focus,
.wc-block-checkout__form select:focus {
  border-color: #2db34b !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(45,179,75,.12) !important;
}
.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button button {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  width: 100% !important;
  padding: 14px 28px !important;
  cursor: pointer !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  transition: background .2s !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background: #1e8a38 !important;
}

/* ═══════════════════════════════════════════════════════
   UKRYJ DUPLIKAT TYTUŁU NA STRONACH INFORMACYJNYCH
   (Astra entry-title + H1 w treści = podwójny tytuł)
   ═══════════════════════════════════════════════════════ */

/* Ukryj Astra entry-title na zwykłych stronach informacyjnych */
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-title,
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .ast-blog-single-element.entry-title-wrap {
  display: none !important;
}

/* H1 w treści — główny tytuł strony */
body.ast-page-builder-template:not(.home):not(.ast-woo-shop-archive):not(.woocommerce-page) .entry-content h1 {
  font-size: 1.8rem;
  font-weight: 800;
  color: #1a2a1a;
  margin: 0 0 28px;
  padding-bottom: 14px;
  border-bottom: 3px solid #2db34b;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: -0.01em;
}

/* Regulamin — H1 z wielkich liter — zmniejsz rozmiar bo CAPS są duże */
.ast-page-builder-template:not(.home) .entry-content h1:not(:lang(xx)) {
  word-break: break-word;
  hyphens: auto;
}

/* ═══════════════════════════════════════════════════════
   UNIWERSALNY STYLING STRON INFORMACYJNYCH
   Obejmuje ast-page-builder-template i ast-separate-container
   ═══════════════════════════════════════════════════════ */

/* Padding — ast-separate-container info pages (Jak kupować, O firmie, etc.) */
/* Wyklucza: sklep, home, woocommerce, strony prawne (mają osobne 860px) */
body.ast-separate-container:not(.woocommerce-page):not(.home):not(.pku-has-shop):not(.page-id-5560):not(.page-id-5589):not(.page-id-3):not(.page-id-5614):not(.page-id-5576) #primary,
body.ast-separate-container:not(.woocommerce-page):not(.home):not(.pku-has-shop):not(.page-id-5560):not(.page-id-5589):not(.page-id-3):not(.page-id-5614):not(.page-id-5576) .site-main {
  padding: 40px 32px 60px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

/* Blok biały (ast-separate-container ma już swoje tło) */
body.ast-separate-container:not(.woocommerce-page):not(.home):not(.pku-has-shop):not(.pku-content-page) article.ast-article-single {
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
}

/* === Wspólna typography dla WSZYSTKICH stron nie-WooCommerce === */
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content h1 {
  font-size: 1.85rem !important;
  font-weight: 800 !important;
  color: #1a2a1a !important;
  margin: 0 0 28px !important;
  padding-bottom: 14px !important;
  border-bottom: 3px solid #2db34b !important;
  line-height: 1.25 !important;
  word-break: break-word !important;
}
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content h2 {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #1a2a1a !important;
  margin: 32px 0 10px !important;
  padding-left: 12px !important;
  border-left: 4px solid #2db34b !important;
  line-height: 1.3 !important;
}
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content h3 {
  font-size: 1rem !important;
  font-weight: 700 !important;
  color: #2db34b !important;
  margin: 22px 0 8px !important;
}
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content p {
  font-size: 0.94rem !important;
  line-height: 1.78 !important;
  color: #444 !important;
  margin: 0 0 12px !important;
}
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content ul,
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content ol {
  padding-left: 22px !important;
  margin: 0 0 16px !important;
}
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content li {
  font-size: 0.94rem !important;
  line-height: 1.78 !important;
  color: #444 !important;
  margin-bottom: 5px !important;
}
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content a:not(.button):not(.add_to_cart_button):not(.wp-block-button__link) {
  color: #2db34b !important;
  text-decoration: underline !important;
}
body.page:not(.woocommerce-page):not(.home):not(.pku-has-shop) .entry-content strong {
  color: #222 !important;
  font-weight: 700 !important;
}


/* ═══════════════════════════════════════════════════════════════════
   PKUZdrowie — STRONA PRODUKTU (Single Product) — 3-column layout
   ═══════════════════════════════════════════════════════════════════ */

/* --- Override Astra container to allow wider single product page --- */
.single-product .site-content > .ast-container,
.single-product #primary {
  max-width: 1400px !important;
  width: 100% !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}

/* Remove Astra sidebar on single product (we have our own) */
.single-product #secondary { display: none !important; }
.single-product #primary { width: 100% !important; }

/* Hide the default Astra/WC entry title above product */
.single-product .entry-title,
.single-product .ast-blog-single-element.entry-title-wrap { display: none !important; }

/* ─── OUTER LAYOUT GRID ──────────────────────────────────────────── */
.pku-product-page { padding: 0; }

.pku-product-layout {
  display: grid;
  grid-template-columns: 220px 1fr 320px;
  grid-template-rows: auto;
  gap: 24px;
  align-items: start;
  padding: 24px 0 48px;
}
/* Prawy panel — sticky na poziomie grid child */
.pku-product-right {
  position: sticky;
  top: var(--pku-header-h, 148px);
  align-self: start;
}

/* ─── LEFT SIDEBAR ───────────────────────────────────────────────── */
.pku-product-sidebar {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

/* Category nav box */
.pku-cat-nav {
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 18px 20px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}

.pku-cat-nav__title {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  color: #222;
  margin: 0 0 12px;
  padding-bottom: 10px;
  border-bottom: 2px solid #2db34b;
}

.pku-cat-nav__item {
  margin: 0;
  padding: 0;
}

.pku-cat-nav__item > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 500;
  color: #444;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  gap: 6px;
}
.pku-cat-nav__item > a:hover {
  background: #f0faf3;
  color: #2db34b;
}
.pku-cat-nav__item--active > a {
  background: #f0faf3;
  color: #2db34b;
  font-weight: 700;
}

.pku-cat-count {
  font-size: 0.75rem;
  color: #999;
  background: #f5f5f5;
  border-radius: 10px;
  padding: 1px 7px;
  font-weight: 400;
  flex-shrink: 0;
}
.pku-cat-nav__item--active .pku-cat-count {
  background: #e8f5e9;
  color: #2db34b;
}

/* Podkategorie */
.pku-cat-nav__children {
  margin-left: 8px;
  border-left: 2px solid #f0f0f0;
  margin-top: 4px;
}
.pku-cat-nav__child > a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 8px 5px 14px;
  border-radius: 6px;
  font-size: 12px;
  color: #555;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
  gap: 6px;
}
.pku-cat-nav__child > a:hover {
  background: #f0faf3;
  color: #2db34b;
}
.pku-cat-nav__child--active > a {
  color: #2db34b;
  font-weight: 600;
}

/* Brand box in sidebar */
.pku-sidebar-brand {
  background: #fff;
  border: 1.5px solid #e8e8e8;
  border-radius: 12px;
  padding: 14px 16px;
  text-align: center;
}

.pku-sidebar-brand__label {
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #999;
  margin: 0 0 8px;
  font-weight: 600;
}

.pku-sidebar-brand__link {
  text-decoration: none;
  display: block;
}

.pku-sidebar-brand__logo {
  max-width: 100px;
  max-height: 50px;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}

.pku-sidebar-brand__name {
  font-size: 1rem;
  font-weight: 700;
  color: #2db34b;
}

/* Delivery info in sidebar */
.pku-sidebar-delivery {
  background: #fff;
  border: 1.5px solid #e8e8e8;
  border-radius: 12px;
  padding: 14px 16px;
}

.pku-sidebar-delivery__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 0.82rem;
  color: #555;
  line-height: 1.4;
  margin-bottom: 10px;
}
.pku-sidebar-delivery__item:last-child { margin-bottom: 0; }

.pku-sdi-icon { font-size: 1rem; flex-shrink: 0; margin-top: 1px; }

/* ─── CENTER COLUMN ──────────────────────────────────────────────── */
.pku-product-center { min-width: 0; }

/* Gallery wrapper + badges */
.pku-gallery-wrap { position: relative; margin-bottom: 24px; }

.pku-badges {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

/* Wszystkie badge'e wewnątrz .pku-badges: relative, uczestniczą w flex column */
.pku-badges .pku-badge {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: inline-block !important;
  padding: 5px 12px;
  border-radius: 4px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 1.4;
  white-space: nowrap;
}
.pku-badges .pku-badge--sale   { background: #e53935; }
.pku-badges .pku-badge--new    { background: #2db34b; }
.pku-badges .pku-badge--expiry      { background: #f97316; border-radius: 20px; }
.pku-badges .pku-badge--bestseller  { background: #f59e0b; }
.pku-badges .pku-badge--featured    { background: #6366f1; }
.pku-badges .pku-badge--daily       { background: #8b5cf6; }


/* ─── WC PRODUCT GALLERY (center column) ─────────────────────────── */
.pku-gallery-wrap {
  position: relative;
  margin-bottom: 24px;
  background: #fff;
  border: 1.5px solid #f0f0f0;
  border-radius: 12px;
  overflow: hidden;
}

/* Force gallery visible */
.pku-gallery-wrap .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
  margin: 0 !important;
  float: none !important;
  width: 100% !important;
}

/* Main image wrapper — give it square aspect ratio */
.pku-gallery-wrap .woocommerce-product-gallery__wrapper {
  width: 100%;
}

.pku-gallery-wrap .woocommerce-product-gallery__image {
  display: block;
  width: 100%;
}

/* Make the main image fill the container with proper sizing */
.pku-gallery-wrap .woocommerce-product-gallery__image a {
  display: block;
  width: 100%;
}

.pku-gallery-wrap .woocommerce-product-gallery__image img,
.pku-gallery-wrap .wp-post-image {
  width: 100% !important;
  height: auto !important;
  max-height: 400px;
  object-fit: contain !important;
  display: block !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

/* Flexslider overrides */
.pku-gallery-wrap .flex-viewport {
  border-radius: 0 !important;
  overflow: hidden !important;
}
.pku-gallery-wrap .flex-viewport img {
  width: 100% !important;
  height: auto !important;
  max-height: 380px !important;
  object-fit: contain !important;
  padding: 16px !important;
  box-sizing: border-box !important;
}

/* Thumbnail strip */
.pku-gallery-wrap .woocommerce-product-gallery .flex-control-nav,
.pku-gallery-wrap .flex-control-thumbs {
  display: flex !important;
  gap: 6px !important;
  padding: 8px !important;
  margin: 0 !important;
  background: #fafafa !important;
  border-top: 1px solid #f0f0f0 !important;
  list-style: none !important;
  flex-wrap: wrap !important;
}
.pku-gallery-wrap .flex-control-thumbs li {
  margin: 0 !important;
}
.pku-gallery-wrap .flex-control-thumbs li img {
  width: 54px !important;
  height: 54px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  border: 2px solid transparent !important;
  cursor: pointer !important;
  padding: 0 !important;
  max-height: none !important;
}
.pku-gallery-wrap .flex-control-thumbs li img.flex-active {
  border-color: #2db34b !important;
}

/* Zoom/search icon */
.pku-gallery-wrap .woocommerce-product-gallery__trigger {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 20 !important;
  background: rgba(255,255,255,0.9) !important;
  border-radius: 50% !important;
  width: 36px !important;
  height: 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12) !important;
}


/* ─── TABS ───────────────────────────────────────────────────────── */
.pku-product-tabs {
  background: #fff;
  border: 1.5px solid #e8e8e8;
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 28px;
}

.pku-tabs-nav {
  display: flex;
  border-bottom: 1.5px solid #e8e8e8;
  background: #fafafa;
}

.pku-tab-btn {
  flex: 1;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  padding: 14px 10px 11px;
  font-size: 0.88rem;
  font-weight: 600;
  color: #666;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  text-align: center;
  margin-bottom: -1.5px;
}
.pku-tab-btn:hover { color: #2db34b; }
.pku-tab-btn--active {
  color: #2db34b;
  border-bottom-color: #2db34b;
  background: #fff;
}

.pku-tab-panel {
  display: none;
  padding: 24px;
}
.pku-tab-panel--active { display: block; }

/* Description tab typography */
.pku-description-content p {
  font-size: 0.93rem;
  line-height: 1.75;
  color: #444;
  margin: 0 0 12px;
}
.pku-description-content h2, .pku-description-content h3 {
  color: #1a2a1a;
  font-weight: 700;
  margin: 20px 0 8px;
}
.pku-description-content ul { padding-left: 20px; }
.pku-description-content li { font-size: 0.93rem; line-height: 1.7; color: #444; margin-bottom: 4px; }

/* Attributes table */
.pku-attr-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
  margin-bottom: 16px;
}
.pku-attr-table tr { border-bottom: 1px solid #f0f0f0; }
.pku-attr-table tr:last-child { border-bottom: none; }
.pku-attr-table th {
  width: 40%;
  text-align: left;
  padding: 10px 12px;
  background: #fafafa;
  font-weight: 600;
  color: #555;
}
.pku-attr-table td {
  padding: 10px 12px;
  color: #333;
}
.pku-no-attrs { color: #999; font-size: 0.88rem; }

/* Delivery table */
.pku-delivery-table { border: 1.5px solid #e8e8e8; border-radius: 8px; overflow: hidden; margin-bottom: 14px; }

.pku-dt-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 0;
  border-bottom: 1px solid #f0f0f0;
}
.pku-dt-row:last-child { border-bottom: none; }
.pku-dt-row > div { padding: 12px 14px; font-size: 0.88rem; color: #444; }

.pku-dt-header {
  background: #fafafa;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #666 !important;
}
.pku-dt-header > div { color: #666; }

.pku-dt-row--free { background: #f0faf2; }
.pku-dt-row--free > div { color: #2db34b; }

.pku-delivery-note {
  font-size: 0.85rem;
  color: #666;
  line-height: 1.5;
  margin: 0;
}

/* ─── RELATED PRODUCTS ───────────────────────────────────────────── */
.pku-related { margin-top: 8px; }

.pku-related__title {
  font-size: 1.1rem;
  font-weight: 700;
  color: #1a2a1a;
  margin: 0 0 16px;
  padding-bottom: 8px;
  border-bottom: 2px solid #2db34b;
}

.pku-related__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}

.pku-related__item {
  background: #fff;
  border: 1.5px solid #e8e8e8;
  border-radius: 10px;
  overflow: hidden;
  transition: box-shadow 0.2s, transform 0.2s;
}
.pku-related__item:hover {
  box-shadow: 0 4px 16px rgba(0,0,0,0.10);
  transform: translateY(-2px);
}
.pku-related__item a { text-decoration: none; display: block; }
.pku-related__item img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }

.pku-related__info { padding: 10px 12px 12px; }

.pku-related__name {
  font-size: 0.8rem;
  font-weight: 600;
  color: #333;
  margin: 0 0 6px;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.pku-related__price {
  font-size: 0.9rem;
  font-weight: 700;
  color: #2db34b;
  margin: 0;
}
.pku-related__price .woocommerce-Price-amount { color: #2db34b; }
.pku-related__price del { color: #aaa; font-weight: 400; font-size: 0.78rem; }

/* ─── RIGHT PANEL ────────────────────────────────────────────────── */
.pku-product-right { min-width: 0; } /* sticky applied via .pku-product-layout override */

.pku-purchase-panel {
  background: #fff;
  border: 1.5px solid #e8e8e8;
  border-radius: 14px;
  padding: 20px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.07);
  display: flex;
  flex-direction: column;
  /* Zmniejszone z 14px -- na desktopie panel ma max-height powiazana z
     realna wysokoscia ekranu (position:sticky), wiec zamiast tego
     scrollowac go w sobie, cieśniejszy odstep czesciej mieści cala
     tresc bez potrzeby wewnetrznego scrolla (2026-09-09). */
  gap: 10px;
}

/* Title */
.pku-purchase-title {
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  color: #1a2a1a !important;
  line-height: 1.3 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: none !important;
}

/* Brand + SKU */
.pku-purchase-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  font-size: 0.82rem;
  color: #666;
}
.pku-meta-brand strong { color: #333; }
.pku-meta-sku code {
  background: #f5f5f5;
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 0.78rem;
  color: #555;
}

/* Rating */
.pku-purchase-rating { margin: -6px 0; }
.pku-purchase-rating .woocommerce-product-rating { margin: 0; }

/* Price */
.pku-purchase-price {}
.pku-purchase-price .price {
  font-size: 1.9rem !important;
  font-weight: 800 !important;
  color: #2db34b !important;
  line-height: 1 !important;
}
.pku-purchase-price .price ins {
  text-decoration: none !important;
}
.pku-purchase-price .price del {
  font-size: 1.1rem !important;
  color: #bbb !important;
  font-weight: 400 !important;
  margin-right: 6px;
}
.pku-purchase-price .woocommerce-Price-amount {
  color: #2db34b !important;
}

/* Stock */
.pku-stock {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 5px 12px;
  border-radius: 20px;
}
.pku-stock--in     { background: #e8f5e9; color: #2db34b; }
.pku-stock--out    { background: #fde8e8; color: #e53935; }
.pku-stock--back   { background: #fff8e1; color: #f57c00; }
.pku-stock--small  { background: #fff8e1; color: #b45309; }
.pku-stock--medium { background: #fff3e0; color: #e65100; }
.pku-stock--large  { background: #e8f5e9; color: #2db34b; }
.pku-stock em { font-style: normal; font-weight: 400; font-size: 0.8em; }

/* Highlights / short description */
.pku-purchase-highlights {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.pku-purchase-highlights li {
  font-size: 0.86rem !important;
  color: #555 !important;
  padding: 2px 0 2px 20px !important;
  position: relative !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}
.pku-purchase-highlights li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: #2db34b;
  font-weight: 700;
  font-size: 0.85rem;
}

/* Add to cart section */
.pku-purchase-atc .quantity { margin-bottom: 10px !important; }

/* Quantity input custom style */
.pku-purchase-atc .quantity input.qty {
  height: 44px !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  text-align: center !important;
  width: 70px !important;
}

/* Add to cart button in panel */
.pku-purchase-atc .single_add_to_cart_button,
.pku-purchase-atc button[type="submit"].button {
  width: 100% !important;
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 14px 20px !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  cursor: pointer !important;
  transition: background 0.2s, transform 0.1s !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
.pku-purchase-atc .single_add_to_cart_button:hover {
  background: #259e41 !important;
  transform: translateY(-1px) !important;
}
.pku-purchase-atc .single_add_to_cart_button:active {
  transform: translateY(0) !important;
}

/* Quantity +/- via WC native (no extra JS needed) */
.pku-purchase-atc .woocommerce-quantity-input-wrapper,
.pku-purchase-atc form.cart { margin-bottom: 0 !important; }

/* Payment row */
.pku-payment-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding-top: 4px;
  border-top: 1px solid #f0f0f0;
}

.pku-payment-label {
  font-size: 0.76rem;
  color: #999;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  flex-shrink: 0;
}

.pku-payment-icons { display: flex; gap: 6px; flex-wrap: wrap; }

.pku-pay {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 24px;
  padding: 0 7px;
  border-radius: 4px;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  border: 1.5px solid #e0e0e0;
  background: #fff;
  color: #444;
}
.pku-pay--blik    { border-color: #e53935; color: #e53935; }
.pku-pay--visa    { background: #1a1f71; color: #fff; border-color: #1a1f71; }
.pku-pay--mc      { background: #eb001b; color: #fff; border-color: #eb001b; letter-spacing: 0; }
.pku-pay--paypo   { background: #5c3d99; color: #fff; border-color: #5c3d99; }
.pku-pay--transfer { color: #555; }

/* Mini delivery in panel */
.pku-panel-delivery {
  font-size: 0.81rem;
  color: #555;
  background: #f8fdf9;
  border-radius: 8px;
  padding: 10px 14px;
  border: 1px solid #d9f0de;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.pku-pd-item { display: flex; align-items: flex-start; gap: 8px; line-height: 1.4; }
.pku-pd-item > span:first-child { flex-shrink: 0; }

/* ─── RESPONSIVE BREAKPOINTS ─────────────────────────────────────── */

/* Large desktop: full 3-column */
@media (min-width: 1101px) {
  .pku-product-layout {
    grid-template-columns: 220px 1fr 320px;
    gap: 24px;
  }
}

/* Medium: compact 3-column (fits in ~820px+ container) */
@media (min-width: 820px) and (max-width: 1100px) {
  .pku-product-layout {
    grid-template-columns: 170px 1fr 260px;
    gap: 16px;
  }
  .pku-purchase-title { font-size: 1.05rem !important; }
  .pku-purchase-price .price { font-size: 1.6rem !important; }
  .pku-purchase-panel { padding: 18px; }
  .pku-cat-nav__title { font-size: 0.76rem; padding: 10px 12px; }
  .pku-cat-nav__item > a { padding: 8px 12px; font-size: 0.84rem; }
}

/* Tablet: 2-column (center + right), sidebar hidden */
@media (max-width: 819px) {
  .pku-product-layout {
    grid-template-columns: 1fr 280px;
    gap: 16px;
  }
  .pku-product-sidebar { display: none; }
  .pku-product-center { grid-column: 1; grid-row: 1; }
  .pku-product-right { grid-column: 2; grid-row: 1; }
}

/* Mobile: single column */
@media (max-width: 640px) {
  .pku-product-layout {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 14px 0 28px;
    grid-template-areas:
      "gallery"
      "purchase"
      "tabs"
      "related";
  }
  /* "Rozpakuj" .pku-product-center zeby jego dzieci (galeria/taby/podobne)
     mogly byc niezaleznie ulozone w gridzie razem z panelem zakupu (2026-07-16) */
  .pku-product-center { display: contents; }
  .pku-gallery-wrap  { grid-area: gallery; }
  .pku-product-tabs  { grid-area: tabs; }
  .pku-related       { grid-area: related; }
  .pku-product-right {
    grid-area: purchase;
    /* Reset bazowego position:sticky (linia ~3847, dotyczy desktopu) --
       na mobile sticky ma tylko .pku-purchase-panel. Dwa zagniezdzone
       sticky z tym samym "top" mrozily kontener .pku-product-right
       wczesnie, co blokowalo sentinel wewnatrz i --compact nigdy sie
       nie wlaczal (2026-09-09). */
    position: static;
  }
  .pku-purchase-sentinel { height: 0; margin: 0; padding: 0; }
  .pku-purchase-price .price { font-size: 1.5rem !important; }
  .single-product .site-content > .ast-container,
  .single-product #primary { padding-left: 10px !important; padding-right: 10px !important; }
  /* Skroc panel zakupu na telefonie — krotki opis (checkmark lista) niepotrzebny,
     jest juz w zakladce Opis nizej (2026-07-16) */
  .pku-purchase-highlights { display: none; }
}

/* Stary .pku-mobile-sticky-bar (dolny pasek, 2026-07-16) usuniety 2026-09-09 --
   zastapiony przez sam .pku-purchase-panel w trybie --compact (patrz wyzej). */

/* Both tablet + mobile */
@media (max-width: 819px) {
  .pku-related__grid { grid-template-columns: repeat(2, 1fr); }
}

/* Tablet only: tabs scroll horizontally */
@media (min-width: 641px) and (max-width: 819px) {
  .pku-tabs-nav { overflow-x: auto; }
  .pku-tab-btn { font-size: 0.8rem; padding: 12px 8px 9px; white-space: nowrap; }
}

/* Phone only: tabs wrap into a 2x2 grid instead of horizontal scroll */
@media (max-width: 640px) {
  .pku-tabs-nav { flex-wrap: wrap; overflow-x: visible; }
  .pku-tab-btn { flex: 1 1 50%; font-size: 0.8rem; padding: 12px 8px 9px; white-space: nowrap; }
}

/* Fix WooCommerce gallery opacity (flexslider sets it via JS; this is fallback) */
.pku-gallery-wrap .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery {
  opacity: 1 !important;
}


/* ═══════════════════════════════════════════════════════
   STRONY Z PRODUKTAMI (Nowości, Promocje, Polecane itp.)
   Usuwa Astrowe ograniczenia szerokości dla stron z [pku_products]
   ═══════════════════════════════════════════════════════ */
body.pku-has-shop #primary {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.pku-has-shop #main.site-main {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
body.pku-has-shop article.ast-article-single {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  background: #fff !important;
  border-radius: 0 !important;
}
body.pku-has-shop .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  /* Sklep ma breadcrumb + h1 które dają ~100px przestrzeni przed produktami.
     Na Nowości/Promocje nie ma tego breadcrumba, więc dodajemy top padding ręcznie */
  padding: 40px 16px 32px !important;
  margin: 0 auto !important;
}
/* Nadpisz Astrowy ast-container na tych stronach */
/* ast-container scoped below for content only */

/* ═══════════════════════════════════════════════════════
   STRONY INFORMACYJNE (Kontakt, Regulamin, FAQ itp.)
   Czysta, czytelna szerokość treści
   ═══════════════════════════════════════════════════════ */
body.pku-content-page #primary {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
}
body.pku-content-page #main.site-main {
  max-width: 100% !important;
  padding: 0 !important;
}
body.pku-content-page article.ast-article-single {
  max-width: 1280px !important;
  margin: 0 auto !important;
  padding: 40px !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  background: #fff !important;
  border-radius: 12px !important;
}
body.pku-content-page .entry-content {
  max-width: 100% !important;
  padding: 0 !important;
}
/* Tylko content-area ast-container, NIE header */
body.pku-content-page #content > .ast-container,
body.pku-content-page .site-content > .ast-container {
  max-width: 1320px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}

/* Linki w sidebarze na stronach z produktami */
body.pku-has-shop .pku-sidebar a,
body.pku-has-shop .pku-sidebar-cats a,
body.pku-has-shop .widget_product_categories a {
  color: #333 !important;
  text-decoration: none !important;
}
body.pku-has-shop .pku-sidebar-cats a:hover,
body.pku-has-shop .widget_product_categories a:hover {
  color: #2db34b !important;
}
body.pku-has-shop .pku-sidebar-cats li.current-cat > a,
body.pku-has-shop .widget_product_categories .current-cat > a {
  color: #2db34b !important;
  font-weight: 600 !important;
}

/* ast-container — usuń TYLKO padding top/bottom, zostaw boki 20px
   dzięki temu treść ma 1280px (= 1320px container - 2*20px) co wyrównuje z banerem.
   Na /sklep/ używany jest .ast-woocommerce-container z własnym paddingiem. */
body.pku-has-shop #content > .ast-container,
body.pku-has-shop .site-content > .ast-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ═══════════════════════════════════════════════════════
   BIAŁE TŁO — Nowości / Promocje / strony z [pku_products]
   Na /sklep/ białe tło daje .ast-woocommerce-container.
   Na stronach z shortcodem odpowiednikiem jest article.ast-article-single
   + .entry-content. Body i zewnętrzne wrappery zostają szare jak na /sklep/.
   ═══════════════════════════════════════════════════════ */
body.pku-has-shop article.ast-article-single,
body.pku-has-shop .entry-content,
body.pku-has-shop .pku-shop-wrap {
  background: #fff !important;
}

/* ═══════════════════════════════════════════════════════
   KRÓTKI TERMIN — badge na kartach i stronie produktu
   ═══════════════════════════════════════════════════════ */

/* Krótki termin — na kartach produktów (position: absolute dziedziczone z .pku-badge) */
.pku-card-img .pku-badge--expiry {
  background: #f97316;
  color: #fff;
  top: 36px;
  left: 8px;
  font-size: 10.5px;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 20px;
  line-height: 1.4;
  white-space: nowrap;
  overflow: visible;
  max-width: none;
}

/* Ukryj natywny WC "Dostępność: X sztuki" — zastąpiony przez pku-purchase-stock */
.pku-product-page .stock,
.pku-product-page .woocommerce-variation-availability { display: none !important; }

/* ═══════════════════════════════════════════════════════
   WARTOŚCI ODŻYWCZE — tabela na stronie produktu
   ═══════════════════════════════════════════════════════ */
.pku-nutrition-wrap {
  border: 1.5px solid #e8f5e9;
  border-radius: 10px;
  overflow: hidden;
}
.pku-nutrition-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f0faf3;
  padding: 12px 16px;
  border-bottom: 1.5px solid #e8f5e9;
}
.pku-nutrition-title {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: #2db34b;
}
.pku-nutrition-unit-label {
  font-size: 0.78rem;
  color: #888;
  font-weight: 600;
}
.pku-nutrition-toggle {
  display: flex;
  gap: 4px;
}
.pku-nut-btn {
  padding: 4px 12px;
  border: 1.5px solid #2db34b;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 600;
  background: #fff;
  color: #2db34b;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}
.pku-nut-btn.active {
  background: #2db34b;
  color: #fff;
}
.pku-nutrition-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.88rem;
}
.pku-nutrition-table thead th {
  background: #fafafa;
  padding: 9px 14px;
  text-align: left;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #666;
  border-bottom: 1.5px solid #e8f5e9;
}
.pku-nutrition-table thead th:not(:first-child) { text-align: right; }
.pku-nutrition-table tbody tr { border-bottom: 1px solid #f0f0f0; }
.pku-nutrition-table tbody tr:last-child { border-bottom: none; }
.pku-nutrition-table tbody td {
  padding: 9px 14px;
  color: #333;
}
.pku-nutrition-table tbody td:not(:first-child) { text-align: right; font-weight: 600; }
.pku-nut-sub td:first-child {
  padding-left: 26px;
  font-size: 0.83rem;
  color: #666;
}
.pku-nut-unit { font-size: 0.75rem; color: #999; font-weight: 400; }
.pku-nut-val  { color: #222; }
.pku-nut-weight td { background: #f7fdf9; font-size: 0.85rem; }
.pku-nut-hidden { display: none !important; }

/* Ukryj Astrowy sticky add-to-cart bar — zastąpiony przez sticky prawy panel */
.ast-sticky-add-to-cart { display: none !important; }

/* ═══════════════════════════════════════════════════════
   STICKY SIDEBARY I PANEL PRODUKTU
   overflow-x: clip zamiast hidden — nie blokuje sticky
   ═══════════════════════════════════════════════════════ */

/* Napraw Astrę: overflow-x: hidden na body blokuje position: sticky */
body {
  overflow-x: clip !important;
}

/* Sidebar sklepu (Sklep / Promocje / Nowości) */
/* Sidebar nie scrolluje — strona rozciąga się do jego wysokości */
.pku-sidebar {
  position: sticky;
  top: var(--pku-header-h, 148px);
  align-self: flex-start;
}

/* Sidebar lewej kolumny na stronie produktu */
.pku-product-sidebar {
  position: sticky;
  top: var(--pku-header-h, 148px);
  max-height: calc(100vh - var(--pku-header-h, 148px) - 8px);
  overflow-y: auto;
  scrollbar-width: none;
  align-self: flex-start;
}
.pku-product-sidebar::-webkit-scrollbar { display: none; }

/* Prawy panel zakupu — sticky na .pku-product-right (grid child), nie tu */
.pku-purchase-panel {
  max-height: calc(100vh - var(--pku-header-h, 148px) - 8px);
  overflow-y: auto;
  scrollbar-width: none;
}
.pku-purchase-panel::-webkit-scrollbar { display: none; }

/* Mobile: position:sticky w gridzie z auto-wysokoscia wiersza NIE dziala tu
   sensownie -- wiersz "purchase" ma wysokosc rowna wysokosci samego panelu,
   wiec gdy panel kurczy sie do --compact, wiersz kurczy sie razem z nim i
   panel "wypada" ze sticky (widac skok/przeskakiwanie nizej), 2026-09-09.
   Zamiast tego JS przelacza panel na position:fixed (position.js nizej),
   z placeholderem trzymajacym miejsce w normalnym flow zeby strona nie
   skakala. --compact wlacza sie od razu w tym samym momencie co --fixed. */
@media (max-width: 640px) {
  .pku-purchase-panel {
    max-height: none !important;
    overflow-y: visible !important;
  }
  .pku-purchase-placeholder {
    display: none;
  }
  .pku-purchase-panel--fixed {
    position: fixed;
    top: var(--pku-header-h, 60px);
    z-index: 50;
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
  }
  .pku-purchase-panel--compact {
    flex-direction: row;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
    padding: 10px 14px;
    box-shadow: 0 4px 14px rgba(0,0,0,0.15);
  }
  .pku-purchase-panel--compact .iworks-omnibus,
  .pku-purchase-panel--compact .pku-purchase-title,
  .pku-purchase-panel--compact .pku-purchase-meta,
  .pku-purchase-panel--compact .pku-purchase-stock,
  .pku-purchase-panel--compact .pku-purchase-highlights,
  .pku-purchase-panel--compact .pku-rating-widget,
  .pku-purchase-panel--compact .pku-payment-row {
    display: none !important;
  }
  .pku-purchase-panel--compact .pku-purchase-price {
    margin: 0;
    font-size: 1rem !important;
    white-space: nowrap;
  }
  .pku-purchase-panel--compact .pku-purchase-price .price {
    font-size: 1.1rem !important;
  }
  .pku-purchase-panel--compact .pku-purchase-atc {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
  }
  .pku-purchase-panel--compact .pku-purchase-atc form.cart {
    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    gap: 8px !important;
    min-width: 0 !important;
  }
  .pku-purchase-panel--compact .pku-purchase-atc .quantity {
    flex: 0 0 auto !important;
    margin-bottom: 0 !important;
  }
  .pku-purchase-panel--compact .pku-purchase-atc .quantity input.qty {
    width: 48px !important;
    height: 38px !important;
  }
  /* Bazowy .single_add_to_cart_button ma width:100%/min-width:140px/duzy
     padding (myslany pod pelny panel) -- w jednej linii compact to
     wypycha tekst poza przycisk. Zwezamy go tutaj (2026-09-09). */
  .pku-purchase-panel--compact .pku-purchase-atc .single_add_to_cart_button {
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    padding: 13px 18px !important;
    font-size: 0.85rem !important;
    white-space: nowrap;
  }
  /* "Ulubione" (tinv-wraper) ma flex:0 0 100% -- w jednej linii compact
     nie ma na to miejsca, chowamy; zostaje widoczne w pelnym panelu. */
  .pku-purchase-panel--compact .pku-purchase-atc .tinv-wraper {
    display: none !important;
  }
}



/* ═══════════════════════════════════════════════════════
   PURCHASE PANEL — poprawki UX
   ═══════════════════════════════════════════════════════ */

/* Ukryj Astrowy ast-stock-detail (duplikat Dostępności) */
.ast-stock-detail,
.pku-purchase-atc .ast-stock-detail,
.pku-purchase-panel .ast-stock-detail { display: none !important; }

/* ── WISHLIST — serce bez obramowania, widoczny hover ── */
.tinv-wishlist, .tinv-wraper.tinv-wishlist {
  display: inline-flex !important;
  align-items: center !important;
}

/* Ukryj webfont-icon i tooltip — tekst ♡ jest już w spanie */
.tinvwl_add_to_wishlist_button .tinvwl-icon,
.tinvwl-tooltip { display: none !important; }

.tinvwl_add_to_wishlist_button {
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  padding: 4px 2px !important;
  border: none !important;
  background: none !important;
  color: #999 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: color .18s ease !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  box-shadow: none !important;
  outline: none !important;
}
.tinvwl_add_to_wishlist_button:hover,
.tinvwl_add_to_wishlist_button:focus {
  color: #e53935 !important;
  background: none !important;
  text-decoration: none !important;
}
/* Czerwone gdy produkt jest już w ulubionych */
.tinvwl_add_to_wishlist_button[data-tinv-wl-action="browse"] {
  color: #e53935 !important;
}

/* ATC layout: [qty] [DODAJ DO KOSZYKA] / [♡ Ulubione] */
.pku-purchase-atc form.cart {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 8px !important;
}
.pku-purchase-atc .quantity                   { flex: 0 0 auto !important; }
.pku-purchase-atc .single_add_to_cart_button  { flex: 1 !important; min-width: 140px !important; }
.pku-purchase-atc .tinv-wraper                { flex: 0 0 100% !important; margin-top: 2px !important; }

/* SKU — subtelny styl */
.pku-purchase-meta { margin: 0; }
.pku-meta-sku { font-size: 11px !important; color: #aaa !important; letter-spacing: 0.3px; }
.pku-meta-sku code { background: none !important; padding: 0 !important; font-size: 11px !important; color: #aaa !important; }


/* ── GWIAZDKI — ocena produktu ───────────────────────────── */
.pku-rating-widget {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
}
.pku-stars {
  display: flex;
  gap: 3px;
  cursor: pointer;
  line-height: 1;
}
.pku-star {
  font-size: 19px;
  color: #ddd;
  transition: color .12s ease, transform .1s ease;
  user-select: none;
  display: inline-block;
}
.pku-star:hover { transform: scale(1.15); }
.pku-star--on   { color: #f5a623; }
.pku-star--hover { color: #f5c462; }

.pku-rating-label {
  font-size: 13px;
  color: #666;
  white-space: nowrap;
}
.pku-rating-label strong { color: #333; font-size: 15px; }
.pku-rating-count { color: #aaa; font-size: 12px; margin-left: 2px; }



/* ══════════════════════════════════════════════════════════════════
   STRONA ULUBIONYCH — PKU custom
══════════════════════════════════════════════════════════════════ */

/* ── Ukryj stare elementy pluginu na str. ulubionych ── */
.pku-wishlist-page .tinv-header,
.pku-wishlist-page .tinv-lists-nav,
.tinv-wishlist .tinvwl-table-manage-lists,
.tinv-wishlist .tinvwl-product-stats { display: none !important; }

/* ── Pusta lista ── */
.pku-wishlist-empty {
  text-align: center;
  padding: 60px 20px;
  color: #666;
}
.pku-wishlist-empty-icon {
  font-size: 64px;
  color: #ddd;
  line-height: 1;
  margin-bottom: 16px;
}
.pku-wishlist-empty p {
  font-size: 1.1rem;
  margin-bottom: 20px;
}

/* ── Tabela ulubionych ── */
.pku-wishlist-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}
.pku-wishlist-table thead tr {
  background: #f5f5f5;
  border-bottom: 2px solid #e0e0e0;
}
.pku-wishlist-table th {
  padding: 10px 14px;
  text-align: left;
  font-weight: 700;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: .04em;
  color: #555;
}
.pku-wishlist-table td {
  padding: 14px;
  vertical-align: middle;
  border-bottom: 1px solid #f0f0f0;
}
.pku-wishlist-table tbody tr:last-child td { border-bottom: none; }
.pku-wishlist-table tbody tr:hover { background: #fafafa; }

/* ── Kolumna usuń ── */
.pku-wishlist-remove {
  background: none;
  border: none;
  color: #ccc;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  padding: 4px 8px;
  border-radius: 50%;
  transition: color .15s, background .15s;
}
.pku-wishlist-remove:hover { color: #e53935; background: #ffebee; }

/* ── Miniatura ── */
.pku-wishlist-table .col-thumb img {
  width: 68px;
  height: 68px;
  object-fit: contain;
  border-radius: 6px;
  border: 1px solid #eee;
  display: block;
}

/* ── Nazwa produktu ── */
.pku-wishlist-name {
  font-weight: 600;
  color: #1a1a1a;
  text-decoration: none;
  line-height: 1.4;
}
.pku-wishlist-name:hover { color: var(--pku-green, #2e7d32); }

/* ── Cena ── */
.pku-wishlist-table .col-price .woocommerce-Price-amount {
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--pku-green, #2e7d32);
}
.pku-wishlist-table .col-price del .woocommerce-Price-amount {
  color: #aaa;
  font-size: 0.9rem;
}

/* ── Dostępność ── */
.pku-stock {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 0.8rem;
  font-weight: 600;
}
.pku-stock--high  { background: #e8f5e9; color: #2e7d32; }
.pku-stock--mid   { background: #fff8e1; color: #f57f17; }
.pku-stock--low   { background: #fff3e0; color: #e65100; }
.pku-stock--out   { background: #ffebee; color: #c62828; }
.pku-stock--in    { background: #e8f5e9; color: #2e7d32; }

/* ── Przyciski ogólne ── */
.pku-btn {
  display: inline-block;
  border: none;
  border-radius: 6px;
  padding: 9px 20px;
  font-size: 0.9rem;
  font-weight: 600;
  cursor: pointer;
  text-decoration: none;
  transition: background .18s ease;
  white-space: nowrap;
}
.pku-btn--green { background: var(--pku-green, #2e7d32); color: #fff !important; }
.pku-btn--green:hover { background: #1b5e20; }
.pku-btn--sm { padding: 7px 16px; font-size: 0.85rem; }
.pku-wishlist-unavail { color: #aaa; font-size: 0.85rem; }

/* ── Responsywność ── */
@media (max-width: 768px) {
  .pku-wishlist-table { display: block; overflow-x: auto; }
  .pku-wishlist-table .col-thumb img { width: 52px; height: 52px; }
  .pku-wishlist-table td { padding: 10px 8px; }
}

/* ══ SERDUSZKO na kartach produktów — custom SVG button ════════ */

.pku-card-img-wrap { position: relative; }
.pku-card-img { position: relative; overflow: hidden; }

/* Wrapper — zawsze widoczny, prawy górny róg */
.pku-card-wishlist {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 10;
  line-height: 1;
}

/* Nasz custom heart button — prosty, bez konfliktu z pluginem */
.pku-heart-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.93);
  border: none;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.22);
  cursor: pointer;
  padding: 0;
  transition: background .15s ease, box-shadow .15s ease, transform .12s ease;
  outline: none;
}
.pku-heart-btn:hover {
  background: #fff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
  transform: scale(1.08);
}
.pku-heart-btn svg {
  display: block;
  transition: fill .15s ease, stroke .15s ease;
}
.pku-heart-btn:hover svg path {
  stroke: #e53935;
}
.pku-heart-btn--active svg path {
  fill: #2e7d32;
  stroke: #2e7d32;
}
/* Plugin button — ukryty, potrzebny tylko dla JS */
.pku-heart-btn-plugin { display: none !important; }
/* Ukryj wszystkie inne elementy pluginu w tym wrapperze */
.pku-card-wishlist .tinv-wraper,
.pku-card-wishlist .tinvwl-loop-button-wrapper { display: none !important; }


/* ══════════════════════════════════════════════════════════════════
   POPUP — dodano do ulubionych
══════════════════════════════════════════════════════════════════ */

.pku-wishlist-popup__overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.35);
  z-index: 9998;
}
.pku-wishlist-popup__box {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 9999;
  background: #fff;
  border-radius: 12px;
  padding: 32px 28px 24px;
  text-align: center;
  box-shadow: 0 8px 40px rgba(0,0,0,.18);
  min-width: 280px;
  max-width: 360px;
  width: 90vw;
  animation: pku-popup-in .2s ease;
}
@keyframes pku-popup-in {
  from { opacity:0; transform: translate(-50%,-46%) scale(.95); }
  to   { opacity:1; transform: translate(-50%,-50%) scale(1); }
}
.pku-wishlist-popup__icon {
  font-size: 44px;
  color: #2e7d32;
  line-height: 1;
  margin-bottom: 12px;
}
.pku-wishlist-popup__msg {
  font-size: 1rem;
  color: #333;
  margin-bottom: 20px;
  line-height: 1.5;
}
.pku-wishlist-popup__actions {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.pku-wishlist-popup__close {
  background: #f5f5f5;
  color: #555;
}
.pku-wishlist-popup__close:hover {
  background: #eee;
  color: #222;
}

/* Upewnij się że stare pluginowe modalne są widoczne przez nasz template */
.tinvwl_added_to_wishlist.tinv-modal-open { display: block !important; }

/* ── Checkout — poprawki layoutu ─────────────────────── */

/* Radio buttony wysyłki — wyrównaj do lewej */
.woocommerce-checkout #shipping_method,
.woocommerce-checkout #shipping_method li {
  text-align: left !important;
  list-style: none !important;
  padding: 4px 0 !important;
}
.woocommerce-checkout #shipping_method li label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  font-size: 14px !important;
}
.woocommerce-checkout #shipping_method li input[type="radio"] {
  margin: 0 !important;
  flex-shrink: 0 !important;
}

/* Wyrownanie checkboxow "Stworz konto", "Regulamin" i "Faktura papierowa" z ich tekstem —
   domyslnie WC/Astra nie centruja ich w pionie wzgledem tekstu obok */
.woocommerce-checkout .create-account label.woocommerce-form__label-for-checkbox,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox,
.woocommerce-checkout .pku-paper-invoice-field label.checkbox {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.woocommerce-checkout .create-account label.woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox input[type="checkbox"],
.woocommerce-checkout .pku-paper-invoice-field label.checkbox input[type="checkbox"] {
  margin: 0 !important;
  flex-shrink: 0 !important;
  width: 16px !important;
  height: 16px !important;
}
.woocommerce-checkout .create-account label.woocommerce-form__label-for-checkbox span,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox span,
.woocommerce-checkout .pku-paper-invoice-field label.checkbox span {
  line-height: 1.4 !important;
}

/* Tekst RODO — mniejszy, szary */
.woocommerce-checkout .woocommerce-privacy-policy-text {
  font-size: 12.5px !important;
  color: #888 !important;
  margin-bottom: 16px !important;
}
.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: #2db34b !important;
}

/* Checkbox newsletter */
.woocommerce-checkout #mailpoet_woocommerce_checkout_optin_field label {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 13px !important;
  color: #555 !important;
  cursor: pointer !important;
}

/* ══════════════════════════════════════════════════
   STRONA POTWIERDZENIA ZAMÓWIENIA (thank you page)
   ══════════════════════════════════════════════════ */
.woocommerce-order { max-width: 760px; margin: 0 auto; }

.woocommerce-thankyou-order-received {
    background: linear-gradient(135deg, #e8f5e9, #f1faf2) !important;
    border: 1px solid #c8e6c9 !important; border-left: 4px solid #2db34b !important;
    border-radius: 8px !important; padding: 14px 20px !important;
    font-size: 15px !important; color: #1a5c26 !important; margin-bottom: 24px !important;
}

.woocommerce-order-overview {
    background: #f9f9f9 !important; border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important; padding: 16px 20px !important;
    display: flex !important; flex-wrap: wrap !important;
    gap: 0 !important; margin-bottom: 28px !important; list-style: none !important;
}
.woocommerce-order-overview li {
    flex: 1 1 auto !important; padding: 8px 16px !important;
    border-right: 1px solid #e0e0e0 !important; font-size: 13px !important;
    color: #666 !important; min-width: 120px !important;
}
.woocommerce-order-overview li:last-child { border-right: none !important; }
.woocommerce-order-overview strong { display: block !important; font-size: 16px !important; color: #222 !important; margin-top: 2px !important; }

.woocommerce-order .wc-bacs-bank-details {
    background: #f7fbf7 !important; border: 1px solid #c8e6c9 !important;
    border-radius: 8px !important; padding: 20px 24px !important; margin: 20px 0 !important;
}
.woocommerce-order .wc-bacs-bank-details-heading,
.woocommerce-order section.woocommerce-order-details > h2,
.woocommerce-order section > h2 {
    font-size: 18px !important; font-weight: 700 !important; color: #1a7a30 !important;
    border-bottom: 2px solid #2db34b !important; padding-bottom: 8px !important; margin-bottom: 16px !important;
}
.woocommerce-order .wc-bacs-bank-details .bank_details li {
    display: grid !important; grid-template-columns: 140px 1fr !important;
    padding: 6px 0 !important; border-bottom: 1px solid #e4f0e4 !important; font-size: 14px !important;
}
.woocommerce-order .wc-bacs-bank-details .bank_details li:last-child { border-bottom: none !important; }
.woocommerce-order .wc-bacs-bank-details .bank_details li strong {
    color: #555 !important; font-size: 12px !important; text-transform: uppercase !important; letter-spacing: 0.4px !important;
}

.woocommerce-order .woocommerce-table--order-details { width: 100% !important; border-collapse: collapse !important; }
.woocommerce-order .woocommerce-table--order-details thead th {
    background: #f0f5f0 !important; color: #1a7a30 !important; font-size: 12px !important;
    text-transform: uppercase !important; letter-spacing: 0.5px !important;
    padding: 10px 14px !important; border-bottom: 2px solid #2db34b !important; font-weight: 700 !important;
}
.woocommerce-order .woocommerce-table--order-details tbody td {
    padding: 10px 14px !important; border-bottom: 1px solid #eeeeee !important;
    font-size: 14px !important; vertical-align: middle !important;
}
.woocommerce-order .woocommerce-table--order-details tfoot th,
.woocommerce-order .woocommerce-table--order-details tfoot td { padding: 8px 14px !important; font-size: 14px !important; border-top: 1px solid #e0e0e0 !important; }
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th {
    font-size: 16px !important; font-weight: 700 !important; color: #1a7a30 !important; border-top: 2px solid #2db34b !important;
}
.woocommerce-order .woocommerce-table--order-details .product-name a { color: #2db34b !important; font-weight: 600 !important; }

.woocommerce-order .woocommerce-column--billing-address address,
.woocommerce-order .woocommerce-column--shipping-address address {
    background: #fafafa !important; border: 1px solid #e0e0e0 !important;
    border-radius: 8px !important; padding: 14px 18px !important; font-size: 14px !important; line-height: 1.7 !important;
}

.woocommerce-order section.woocommerce-order-details,
.woocommerce-order section.woocommerce-customer-details { margin-top: 28px !important; }

/* ══════════════════════════════════════════════
   BACK-IN-STOCK NOTIFICATIONS
   ══════════════════════════════════════════════ */

/* Przycisk Powiadom mnie */
.pku-notify-btn {
    background: #f5f5f5 !important;
    color: #555 !important;
    border: 2px solid #ccc !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    padding: 10px 20px !important;
    transition: all .2s !important;
    width: 100% !important;
    margin-top: 8px !important;
}
.pku-notify-btn:hover {
    background: #fff3cd !important;
    border-color: #f0c040 !important;
    color: #333 !important;
}
.pku-out-of-stock-msg {
    color: inherit !important;
    font-size: 14px !important;
    margin-bottom: 10px !important;
}
.pku-notify-wrap { margin-top: 16px; }

/* Overlay */
#pku-notify-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.55) !important;
    z-index: 999999 !important;
    display: none;
    align-items: center !important;
    justify-content: center !important;
    padding: 16px !important;
}
#pku-notify-overlay.pku-notify-open {
    display: flex !important;
}

/* Modal */
#pku-notify-modal {
    background: #fff !important;
    border-radius: 12px !important;
    padding: 36px 32px 28px !important;
    max-width: 420px !important;
    width: 100% !important;
    position: relative !important;
    box-shadow: 0 8px 40px rgba(0,0,0,.18) !important;
    animation: pku-modal-in .2s ease !important;
}
@keyframes pku-modal-in {
    from { opacity:0; transform: scale(.95) translateY(-10px); }
    to   { opacity:1; transform: scale(1)  translateY(0); }
}

#pku-notify-close {
    position: absolute !important;
    top: 12px !important; right: 14px !important;
    background: none !important;
    border: none !important;
    font-size: 24px !important;
    color: #999 !important;
    cursor: pointer !important;
    line-height: 1 !important;
    padding: 4px 8px !important;
}
#pku-notify-close:hover { color: #333 !important; }

.pku-notify-icon {
    font-size: 36px !important;
    text-align: center !important;
    margin-bottom: 8px !important;
}
#pku-notify-title {
    font-size: 20px !important;
    font-weight: 700 !important;
    text-align: center !important;
    color: #1a1a1a !important;
    margin: 0 0 6px !important;
}
.pku-notify-product-name {
    text-align: center !important;
    font-weight: 600 !important;
    color: #2db34b !important;
    font-size: 14px !important;
    margin-bottom: 4px !important;
}
.pku-notify-desc {
    text-align: center !important;
    color: #777 !important;
    font-size: 14px !important;
    margin-bottom: 20px !important;
}

/* Pola formularza */
.pku-notify-field { margin-bottom: 14px !important; }
.pku-notify-field label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #444 !important;
    margin-bottom: 5px !important;
}
.pku-notify-field input[type=email] {
    width: 100% !important;
    padding: 10px 12px !important;
    border: 1.5px solid #ddd !important;
    border-radius: 6px !important;
    font-size: 14px !important;
    box-sizing: border-box !important;
    transition: border .15s !important;
}
.pku-notify-field input[type=email]:focus {
    border-color: #2db34b !important;
    outline: none !important;
    box-shadow: 0 0 0 3px rgba(45,179,75,.12) !important;
}

/* Checkbox */
.pku-notify-field--check label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 8px !important;
    font-weight: 400 !important;
    font-size: 13px !important;
    color: #555 !important;
    cursor: pointer !important;
}
.pku-notify-field--check input[type=checkbox] {
    margin-top: 2px !important;
    flex-shrink: 0 !important;
    accent-color: #2db34b !important;
    width: 15px !important; height: 15px !important;
}
.pku-notify-field--check a { color: #2db34b !important; }

/* Submit */
.pku-notify-submit {
    width: 100% !important;
    background: #2db34b !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 12px !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    cursor: pointer !important;
    margin-top: 6px !important;
    transition: background .2s !important;
}
.pku-notify-submit:hover { background: #259040 !important; }
.pku-notify-submit:disabled { opacity: .7 !important; cursor: default !important; }

/* Komunikaty */
#pku-notify-msg {
    padding: 0 !important;
    font-size: 14px !important;
    margin-bottom: 8px !important;
    border-radius: 6px !important;
    text-align: center !important;
    min-height: 0 !important;
}
#pku-notify-msg.pku-notify-success {
    background: #e8f5e9 !important;
    color: #1a7a30 !important;
    padding: 10px 12px !important;
    border: 1px solid #c8e6c9 !important;
}
#pku-notify-msg.pku-notify-error {
    background: #fdecea !important;
    color: inherit !important;
    padding: 10px 12px !important;
    border: 1px solid #f5c6cb !important;
}

/* ═══════════════════════════════════════════════
   PKU COOKIE CONSENT BANNER & MODAL
   ═══════════════════════════════════════════════ */

/* Banner */
.pku-cookie-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 99999;
  background: #fff;
  border-top: 3px solid #2db34b;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.12);
  padding: 16px 24px;
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.pku-cookie-banner--hidden {
  transform: translateY(110%);
  opacity: 0;
  pointer-events: none;
}
/* Podnies baner nad .pku-bottom-bar (58px, z-index 99999) — inaczej ostatni
   przycisk (Ustawienia) jest pod nim niewidoczny (2026-07-16) */
@media (max-width: 768px) {
  .pku-cookie-banner { bottom: 58px; }
}
.pku-cookie-banner__inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.pku-cookie-banner__text {
  flex: 1 1 300px;
}
.pku-cookie-banner__text p {
  margin: 0;
  font-size: 14px;
  color: #444;
  line-height: 1.5;
}
.pku-cookie-banner__text a {
  color: #2db34b;
  text-decoration: underline;
}
.pku-cookie-banner__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

/* Cookie Buttons */
.pku-cookie-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  font-size: 13px;
  font-weight: 600;
  border-radius: 5px;
  cursor: pointer;
  border: 2px solid transparent;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.pku-cookie-btn--primary {
  background: #2db34b;
  color: #fff;
  border-color: #2db34b;
}
.pku-cookie-btn--primary:hover {
  background: #249f40;
  border-color: #249f40;
}
.pku-cookie-btn--secondary {
  background: transparent;
  color: #555;
  border-color: #ccc;
}
.pku-cookie-btn--secondary:hover {
  border-color: #888;
  color: #222;
}
.pku-cookie-btn--ghost {
  background: transparent;
  color: #2db34b;
  border-color: transparent;
  text-decoration: underline;
  padding: 10px 8px;
}
.pku-cookie-btn--ghost:hover {
  color: #249f40;
}

/* Modal */
.pku-cookie-modal {
  position: fixed;
  inset: 0;
  z-index: 100000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.pku-cookie-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.55);
}
.pku-cookie-modal__box {
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding: 32px;
  max-width: 520px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,0.2);
}
.pku-cookie-modal__close {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 24px;
  cursor: pointer;
  color: #888;
  line-height: 1;
  padding: 4px 8px;
}
.pku-cookie-modal__close:hover { color: #222; }
.pku-cookie-modal__box h2 {
  margin: 0 0 12px;
  font-size: 20px;
  color: #222;
}
.pku-cookie-modal__intro {
  font-size: 14px;
  color: #666;
  margin-bottom: 24px;
  line-height: 1.5;
}
.pku-cookie-modal__intro a {
  color: #2db34b;
}

/* Cookie Categories */
.pku-cookie-category {
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 12px;
}
.pku-cookie-category__header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.pku-cookie-category__header > div { flex: 1; }
.pku-cookie-category__header strong {
  font-size: 15px;
  color: #222;
  display: block;
  margin-bottom: 4px;
}
.pku-cookie-category__header p {
  font-size: 13px;
  color: #777;
  margin: 0;
  line-height: 1.4;
}

/* Toggle switch */
.pku-cookie-toggle {
  position: relative;
  display: inline-block;
  width: 46px;
  height: 26px;
  flex-shrink: 0;
  margin-top: 2px;
}
.pku-cookie-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
  position: absolute;
}
.pku-cookie-toggle__slider {
  position: absolute;
  inset: 0;
  background: #ccc;
  border-radius: 26px;
  cursor: pointer;
  transition: background 0.25s;
}
.pku-cookie-toggle__slider:before {
  content: '';
  position: absolute;
  left: 3px;
  top: 3px;
  width: 20px;
  height: 20px;
  background: #fff;
  border-radius: 50%;
  transition: transform 0.25s;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
}
.pku-cookie-toggle input:checked + .pku-cookie-toggle__slider {
  background: #2db34b;
}
.pku-cookie-toggle input:checked + .pku-cookie-toggle__slider:before {
  transform: translateX(20px);
}
.pku-cookie-toggle--disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* Modal Footer */
.pku-cookie-modal__footer {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 600px) {
  .pku-cookie-banner__inner { flex-direction: column; align-items: stretch; }
  .pku-cookie-banner__text { flex: 0 0 auto; }
  .pku-cookie-banner__actions { flex-direction: column; }
  .pku-cookie-btn { text-align: center; }
  .pku-cookie-modal__box { padding: 24px 18px; }
}

/* RODO info w popup powiadomień */
.pku-notify-rodo {
  font-size: 11px !important;
  color: #999 !important;
  line-height: 1.4 !important;
  margin-top: 10px !important;
  padding-top: 10px !important;
  border-top: 1px solid #f0f0f0 !important;
}
.pku-notify-rodo a { color: #999 !important; text-decoration: underline !important; }

/* ═══════════════════════════════════════════════
   NEWSLETTER FORM — GDPR checkbox & messages
   ═══════════════════════════════════════════════ */

.pku-newsletter-row {
  display: flex;
  gap: 8px;
  margin-bottom: 10px;
}
.pku-newsletter-input {
  flex: 1;
}
.pku-newsletter-gdpr {
  margin-bottom: 8px;
}
.pku-newsletter-gdpr-label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  color: #bbb;
  line-height: 1.4;
}
.pku-newsletter-gdpr-label input[type="checkbox"] {
  margin-top: 2px;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  cursor: pointer;
}
.pku-newsletter-gdpr-label a {
  color: #bbb;
  text-decoration: underline;
}
.pku-newsletter-msg {
  font-size: 13px;
  margin-top: 6px;
  min-height: 18px;
}
.pku-newsletter-msg--success { color: #2db34b; }
.pku-newsletter-msg--error   { color: #e74c3c; }

/* ── Newsletter form layout fix ── */
.pku-newsletter-row {
  display: block !important;
}
.pku-newsletter-row .pku-newsletter-input {
  width: 100% !important;
  margin-bottom: 8px !important;
  flex: none !important;
}
.pku-newsletter-row .pku-newsletter-btn {
  width: 100% !important;
  display: block !important;
}

/* ═══════════════════════════════════════════════
   STRONA KONTA — gap fix + zakładki auth
   ═══════════════════════════════════════════════ */

/* 1. Gap fix — tak samo jak koszyk/checkout */
.woocommerce-account .ast-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.woocommerce-account .ast-article-single {
  padding: 0.54em 1em 1.33em !important;
}

/* 2. Wrapper całej strony logowania */
.pku-login-wrap {
  max-width: 460px !important;
  margin: 40px auto !important;
  background: #fff !important;
  border-radius: 12px !important;
  box-shadow: 0 4px 32px rgba(0,0,0,0.08) !important;
  padding: 36px 40px 40px !important;
}

/* 3. Google button sekcja */
.pku-social-login-top {
  margin-bottom: 0;
}
.pku-social-login-top .pku-social-login {
  margin-bottom: 0;
}

/* 4. Zakładki */
.pku-auth-tabs {
  display: flex;
  gap: 0;
  border-bottom: 2px solid #eee;
  margin: 24px -40px 0;
  padding: 0 40px;
}
.pku-auth-tab {
  flex: 1;
  background: none;
  border: none;
  padding: 12px 0;
  font-size: 15px;
  font-weight: 600;
  color: #aaa;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -2px;
  transition: color 0.2s, border-color 0.2s;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.pku-auth-tab:hover {
  color: #555;
}
.pku-auth-tab--active {
  color: #2db34b !important;
  border-bottom-color: #2db34b !important;
}

/* 5. Panele formularzy */
.pku-auth-panels {
  padding-top: 28px;
}

/* Ukryj domyślne h2 formularzy WC — zakładki już pełnią tę rolę */
.pku-auth-panels .woocommerce-form-login h2,
.pku-auth-panels .woocommerce-form-register h2,
.pku-login-wrap > h2,
.pku-login-wrap .col2-set h2 {
  display: none !important;
}

/* Wymuś pełną szerokość formularzy */
.pku-auth-panels .woocommerce-form-login,
.pku-auth-panels .woocommerce-form-register {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
  margin: 0 !important;
}

/* col2-set WC — wymuś single column */
.pku-login-wrap .col2-set {
  display: block !important;
}
.pku-login-wrap .col2-set .col-1,
.pku-login-wrap .col2-set .col-2 {
  float: none !important;
  width: 100% !important;
  padding: 0 !important;
}

/* Odstępy między polami */
.pku-auth-panels .woocommerce-form-row {
  margin-bottom: 16px !important;
}
.pku-auth-panels .form-row.form-row-first,
.pku-auth-panels .form-row.form-row-last {
  float: none !important;
  width: 100% !important;
}

/* Przycisk submit */
.pku-auth-panels .woocommerce-button.button {
  width: 100% !important;
  padding: 13px !important;
  font-size: 15px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}

/* "Nie pamiętasz hasła?" link */
.pku-auth-panels .woocommerce-LostPassword {
  text-align: right;
  margin-top: -8px;
  margin-bottom: 20px;
  font-size: 13px;
}

/* Prywatność przy rejestracji */
.pku-auth-panels .woocommerce-privacy-policy-text {
  font-size: 12px;
  color: #999;
  line-height: 1.4;
  margin-bottom: 16px;
}
.pku-auth-panels .woocommerce-privacy-policy-text a {
  color: #999;
  text-decoration: underline;
}

/* Or divider */
.pku-or-divider {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 16px 0;
  color: #ccc;
  font-size: 13px;
}
.pku-or-divider::before,
.pku-or-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: #eee;
}

@media (max-width: 600px) {
  .pku-login-wrap {
    margin: 20px 12px !important;
    padding: 24px 20px 28px !important;
  }
  .pku-auth-tabs {
    margin: 20px -20px 0;
    padding: 0 20px;
  }
}

/* ═══════════════════════════════════════════════
   PANEL KONTA — dashboard redesign
   ═══════════════════════════════════════════════ */

/* Nav — ikony */
.woocommerce-MyAccount-navigation .pku-nav-icon {
  display: inline-block;
  width: 22px;
  font-style: normal;
  flex-shrink: 0;
}
.woocommerce-MyAccount-navigation li a {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* Welcome card */
.pku-dashboard-welcome {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, #f0faf2 0%, #e8f5e9 100%);
  border: 1.5px solid #c8e6c9;
  border-radius: 12px;
  padding: 20px 24px;
  margin-bottom: 24px;
}
.pku-dashboard-avatar {
  width: 64px !important;
  height: 64px !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}
.pku-dashboard-welcome__name {
  font-size: 20px !important;
  font-weight: 700 !important;
  margin: 0 0 4px !important;
  color: #1a3a1f !important;
  border: none !important;
  padding: 0 !important;
}
.pku-dashboard-welcome__name span {
  color: #2db34b;
}
.pku-dashboard-welcome__sub {
  font-size: 13px !important;
  color: #5a7a5f !important;
  margin: 0 !important;
}

/* Stats cards */
.pku-dashboard-stats {
  display: flex;
  gap: 12px;
  margin-bottom: 24px;
  flex-wrap: wrap;
}
.pku-dashboard-stat {
  flex: 1;
  min-width: 100px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  background: #fff;
  border: 1.5px solid #e8e8e8;
  border-radius: 10px;
  padding: 16px 12px;
  text-decoration: none !important;
  transition: border-color .2s, box-shadow .2s;
}
.pku-dashboard-stat:hover {
  border-color: #2db34b;
  box-shadow: 0 2px 12px rgba(45,179,75,0.1);
}
.pku-dashboard-stat__icon { font-size: 22px; }
.pku-dashboard-stat__value {
  font-size: 22px;
  font-weight: 700;
  color: #222;
  line-height: 1;
}
.pku-dashboard-stat__label {
  font-size: 12px;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

/* Faktura button */
.pku-invoice-btn {
  background: #f5f5f5 !important;
  color: #333 !important;
  border: 1.5px solid #ddd !important;
  padding: 5px 12px !important;
  font-size: 12px !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  white-space: nowrap;
  font-weight: 500 !important;
}
.pku-invoice-btn:hover {
  background: #e8f5e9 !important;
  border-color: #2db34b !important;
  color: #1a6b28 !important;
}
.pku-invoice-pending { color: #ccc; font-size: 13px; }

/* Ukryj domyślny tekst "Witaj X" WC (mamy swój) */
.woocommerce-account .woocommerce-MyAccount-content > p:first-child:not(.pku-) {
  display: none;
}

@media (max-width: 700px) {
  .pku-dashboard-welcome { flex-direction: column; text-align: center; }
  .pku-dashboard-stats { gap: 8px; }
  .pku-dashboard-stat { min-width: 80px; padding: 12px 8px; }
}



/* ═══════════════════════════════════════════
   ZAKŁADKA ULUBIONE — pku-wishlist-table
   ═══════════════════════════════════════════ */

.pku-wishlist-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
.pku-wishlist-table th {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: #888;
  padding: 8px 6px;
  border-bottom: 2px solid #eee;
  font-weight: 600;
}
.pku-wishlist-table td {
  padding: 10px 6px;
  vertical-align: middle;
  border-bottom: 1px solid #f0f0f0;
}

/* Kolumny — szerokości */
.pku-wishlist-table th.col-remove,
.pku-wishlist-table td.col-remove { width: 28px; text-align: center; padding: 0; }
.pku-wishlist-table th.col-thumb,
.pku-wishlist-table td.col-thumb  { width: 64px; text-align: center; }
.pku-wishlist-table th.col-price,
.pku-wishlist-table td.col-price  { width: 72px; text-align: right; white-space: nowrap; font-size: 0.9rem; }
.pku-wishlist-table th.col-action,
.pku-wishlist-table td.col-action { width: 46px; text-align: center; }

/* Niedostepny produkt — wyszarzenie zamiast osobnej kolumny "Stan" (2026-07-16) */
.pku-wishlist-item--oos .pku-wishlist-name { color: #aaa; }
.pku-wishlist-item--oos .col-thumb img,
.pku-wishlist-item--oos .col-thumb .pku-wl-thumb { opacity: 0.45; filter: grayscale(60%); }
.pku-wishlist-item--oos .col-price { opacity: 0.5; }

/* Miniaturka */
.pku-wishlist-table td.col-thumb a { display: block; }
.pku-wishlist-table td.col-thumb img,
.pku-wishlist-table td.col-thumb .pku-wl-thumb {
  width: 56px !important;
  height: 56px !important;
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Nazwa — 2 linie */
.pku-wishlist-table td.col-name { min-width: 0; }
.pku-wishlist-table .pku-wishlist-name {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 0.83rem;
  line-height: 1.35;
  color: #333;
  text-decoration: none;
}
.pku-wishlist-table .pku-wishlist-name:hover { color: #3a7d44; }

/* Przycisk usuń */
.pku-wishlist-remove {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1.1rem;
  color: #bbb;
  padding: 4px;
  line-height: 1;
}
.pku-wishlist-remove:hover { color: #c0392b; }

/* Przycisk DO KOSZYKA — okrągła ikonka */
.pku-wl-cart-btn {
  width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background: #3a7d44 !important;
  border: none !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  transition: background .2s;
}
.pku-wl-cart-btn:hover { background: #2d6235 !important; }
.pku-wl-cart-btn svg { display: block; }

/* Niedostępny */
.pku-wishlist-unavail {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #ccc;
}

/* Dostępność badges */
.pku-stock {
  display: inline-block;
  font-size: 0.78rem;
  font-weight: 700;
  border-radius: 4px;
  padding: 2px 5px;
}
.pku-stock--high { color: #2d6235; background: #e8f5e9; }
.pku-stock--mid  { color: #856404; background: #fff3cd; }
.pku-stock--low  { color: #842029; background: #f8d7da; }
.pku-stock--out  { color: #999; background: #f0f0f0; }
.pku-stock--in   { color: #2d6235; background: #e8f5e9; }

@media (max-width: 600px) {
  .pku-wishlist-table td.col-price,
  .pku-wishlist-table th.col-price { display: none; }
}

/* ═══════════════════════════════════════
   DANE FAKTUROWE — przełącznik typ klienta
   ═══════════════════════════════════════ */

/* Przełącznik osoba/firma - wygląd przycisków */
.pku-customer-type-field ul.woocommerce-input-wrapper,
.pku-customer-type-field span.woocommerce-input-wrapper {
  display: flex !important;
  gap: 8px;
  flex-wrap: wrap;
}
.pku-customer-type-field ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 8px; }
.pku-customer-type-field li { margin: 0; }

.pku-customer-type-field input[type=radio] { display: none; }
.pku-customer-type-field label {
  display: inline-block;
  padding: 7px 18px;
  border: 2px solid #ddd;
  border-radius: 6px;
  cursor: pointer;
  font-size: 0.9rem;
  font-weight: 500;
  color: #555;
  background: #fafafa;
  transition: all .15s;
  user-select: none;
}
.pku-customer-type-field input[type=radio]:checked + label,
.pku-customer-type-field label:has(+ input:checked) {
  border-color: #3a7d44;
  background: #3a7d44;
  color: #fff;
}
/* fallback dla starszych przeglądarek — JS doda klasę active */
.pku-customer-type-field label.pku-type-active {
  border-color: #3a7d44;
  background: #3a7d44;
  color: #fff;
}

.pku-company-field { display: none; }


/* ═══════════════════════════════════════════════════════════════════════════
   SECTION HEADER REDESIGN  (dark-green bar, like sklepogrodniczy.pl)
   ═══════════════════════════════════════════════════════════════════════════ */
.pku-section { margin: 0 0 48px; }
.pku-section__header {
  display: flex; align-items: center; justify-content: space-between;
  max-width: 1280px; margin: 0 auto 18px; padding: 13px 24px;
  background: #1e3a28; border-radius: 8px;
}
.pku-section__title {
  font-size: 17px; font-weight: 800; color: #fff; margin: 0;
  text-transform: uppercase; letter-spacing: 1px;
}
.pku-section__link {
  font-size: 12.5px; color: #a8e6b8; font-weight: 600;
  text-decoration: none; white-space: nowrap;
}
.pku-section__link:hover { color: #fff; text-decoration: underline; }

/* ═══════════════════════════════════════════════════════════════════════════
   PRODUCT CARD HEIGHT EQUALISATION
   ─ cards are flex columns; stretch price area so button always sits at bottom
   ═══════════════════════════════════════════════════════════════════════════ */
.pku-product-card { height: 100%; }
.pku-card-price   { flex-grow: 1; }   /* push "Add to cart" to bottom */
.pku-product-card .add_to_cart_button,
.pku-product-card .button { margin-top: auto !important; }

/* ═══════════════════════════════════════════════════════════════════════════
   SUPER OFERTA
   ═══════════════════════════════════════════════════════════════════════════ */
.pku-super-oferta { max-width: 1280px; margin: 0 auto 48px; padding: 0 24px; }

/* Header bar */
.pku-so-header {
  background: #1e3a28; color: #fff;
  padding: 13px 24px; border-radius: 8px 8px 0 0;
  font-size: 20px; font-weight: 700; letter-spacing: 1.5px;
  text-transform: uppercase; display: flex; align-items: center;
  justify-content: space-between;
}
.pku-so-header__bold { font-weight: 900; color: #fff; }
.pku-so-counter { font-size: 13px; font-weight: 400; opacity: .7; }

/* Wrap + slides */
.pku-so-wrap {
  position: relative; background: #fff;
  border: 1px solid #d0d9d3; border-top: none;
  border-radius: 0 0 8px 8px; overflow: hidden;
}
.pku-so-slide {
  display: none; grid-template-columns: 220px 1fr 1fr; align-items: center;
  gap: 0; padding: 28px 52px;
}
.pku-so-slide--active { display: grid; }

/* Nav arrows */
.pku-so-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  background: none; border: none; cursor: pointer;
  font-size: 44px; color: #1e3a28; line-height: 1;
  z-index: 2; padding: 0 8px; opacity: .6; transition: opacity .2s;
}
.pku-so-nav:hover { opacity: 1; }
.pku-so-nav--prev { left: 4px; }
.pku-so-nav--next { right: 4px; }

/* Columns */
.pku-so-col--timer {
  display: flex; flex-direction: column; align-items: flex-start; gap: 10px;
  padding-right: 24px; border-right: 1px solid #e0e0e0;
}
.pku-so-col--img {
  display: flex; align-items: center; justify-content: center;
  padding: 0 32px;
}
.pku-so-col--img img { max-height: 220px; max-width: 100%; object-fit: contain; }
.pku-so-col--info {
  padding-left: 24px; border-left: 1px solid #e0e0e0;
  display: flex; flex-direction: column; gap: 6px;
}

/* Timer */
.pku-so-valid-label { font-size: 10px; font-weight: 700; color: #555; letter-spacing: .6px; margin: 0; }
.pku-so-countdown { display: flex; gap: 6px; }
.pku-so-unit { display: flex; flex-direction: column; align-items: center; }
.pku-so-num {
  background: #1e3a28; color: #fff; font-size: 22px; font-weight: 800;
  width: 52px; text-align: center; border-radius: 4px; padding: 6px 0;
  line-height: 1;
}
.pku-so-lbl { font-size: 9px; font-weight: 700; color: #555; margin-top: 3px; letter-spacing: .5px; }

/* Discount badge */
.pku-so-disc-badge {
  background: #e53935; color: #fff; font-size: 14px; font-weight: 800;
  border-radius: 20px; padding: 4px 14px;
}

/* CTA button */
.pku-so-btn {
  display: block; width: 100%; background: #2db34b; color: #fff;
  font-size: 14px; font-weight: 800; letter-spacing: 1px;
  text-align: center; padding: 12px 16px; border-radius: 6px;
  text-decoration: none; transition: background .2s;
}
.pku-so-btn:hover { background: #1e8a38; color: #fff; }

/* Info col */
.pku-so-title { font-size: 16px; font-weight: 700; margin: 0; color: #1a1a1a; line-height: 1.35; }
.pku-so-title a { color: inherit; text-decoration: none; }
.pku-so-title a:hover { color: #1e8a38; }
.pku-so-price-sale { font-size: 26px; font-weight: 900; color: #e53935; }
.pku-so-price-sale .woocommerce-Price-amount { color: #e53935 !important; }
.pku-so-price-regular { font-size: 13px; color: #666; }
.pku-so-price-min30 { font-size: 11px; color: #999; }
.pku-so-desc { font-size: 13px; color: #444; line-height: 1.5; margin: 4px 0 0; }

/* Responsive */
@media (max-width: 920px) {
  .pku-so-slide { grid-template-columns: 1fr 1fr; padding: 20px 40px; }
  .pku-so-col--timer { border-right: none; border-bottom: 1px solid #e0e0e0; padding: 0 0 16px; grid-column: 1/-1; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; }
  .pku-so-col--img { padding: 16px; }
  .pku-so-col--info { border-left: none; border-top: 1px solid #e0e0e0; padding: 16px 0 0; }
}
@media (max-width: 600px) {
  .pku-so-slide { grid-template-columns: 1fr; padding: 16px 24px; }
  .pku-so-col--img { display: none; }
  .pku-so-valid-label { display: none; }
  .pku-so-num { font-size: 18px; width: 42px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   FIX v2 — section headers: clean separator instead of dark bar
   Overrides the previous dark-green-bar rules added below
   ═══════════════════════════════════════════════════════════════════════════ */
.pku-section { margin: 0 0 44px !important; }

.pku-section__header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 1280px !important;
  margin: 0 auto 20px !important;
  padding: 0 24px 12px !important;
  background: transparent !important;
  border-radius: 0 !important;
  border-bottom: 2px solid #e4e9e4 !important;
}
.pku-section__title {
  font-size: 17px !important;
  font-weight: 800 !important;
  color: #1a1a1a !important;
  text-transform: uppercase !important;
  letter-spacing: 0.6px !important;
  margin: 0 !important;
  padding-left: 11px !important;
  border-left: 4px solid #2db34b !important;
  border-radius: 2px !important;
}
.pku-section__link {
  font-size: 12.5px !important;
  color: #2db34b !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.pku-section__link:hover { color: #1e8a38 !important; text-decoration: underline !important; }

/* ─── Product card: uniform height, button always at bottom ─── */
.pku-slider { align-items: stretch !important; }
.pku-product-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.pku-card-img-wrap { flex-shrink: 0; }
.pku-card-img { height: 180px !important; }
.pku-card-img img {
  height: 100% !important;
  width: 100% !important;
  aspect-ratio: unset !important;
  object-fit: contain !important;
  padding: 16px !important;
}
.pku-brand-badge {
  display: block;
  height: 22px;      /* always reserve space even if no badge */
  box-sizing: border-box;
}
.pku-card-title {
  flex-grow: 0 !important;
  min-height: 42px;   /* two-line reserve */
  white-space: normal !important;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  text-overflow: unset !important;
}
.pku-card-price { flex-grow: 1 !important; }
.pku-product-card .add_to_cart_button,
.pku-product-card .button { margin-top: auto !important; }

/* ─── Super Oferta: align with slider sections ─── */
/* Remove border around so-wrap, match section width treatment */
.pku-super-oferta {
  max-width: 1280px !important;
  margin: 0 auto 44px !important;
  padding: 0 24px !important;
}
.pku-so-header { border-radius: 8px !important; margin-bottom: 0 !important; }
.pku-so-wrap   {
  border-radius: 0 0 8px 8px !important;
  border: 1px solid #d8e2d8 !important;
  border-top: none !important;
}

/* ── Kontakt: fix formularza – rozciągnięcie ── */
.pku-contact-form {
  margin-right: 0 !important;
}
.pku-contact-form .wpcf7 textarea {
  height: 220px !important;
}
.pku-contact-page {
  grid-template-columns: 1fr 2fr !important;
  max-width: 1140px !important;
  gap: 32px !important;
}

/* ═══════════════════════════════════════════════════════════════
   RESPONSIVE FIXES — tablet (≤1024px) + mobile (≤768px, ≤480px)
   ═══════════════════════════════════════════════════════════════ */


/* ═══════════════════════════════════════════════════════════════════════════
   PKU HERO SLIDER — desktop base styles
   ═══════════════════════════════════════════════════════════════════════════ */

/* Wrapper — pełna szerokość, bez marginesów sekcji */
.pku-hero-slider {
  position: relative;
  overflow: hidden;
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

/* Slajd bazowy — ukryty (force, Gutenberg/Astra moze nadpisywac) */
.pku-hero-slide {
  display: none !important;
  width: 100%;
  min-height: 380px;
}
/* Aktywny slajd ZAWSZE widoczny */
.pku-hero-slide.pku-hs-active {
  display: flex !important;
}

/* Aktywny slajd */
.pku-hero-slide.pku-hs-active {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  min-height: 380px;
}

/* ── Lewa kolumna: tekst ─────────────────────────────────────────────────── */
.pku-hs-left {
  flex: 0 0 50%;
  max-width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  padding: 44px 52px;
  box-sizing: border-box;
}

/* Etykieta kategorii */
.pku-hs-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: #2B6B30;
  background: rgba(43,107,48,.1);
  border-radius: 20px;
  padding: 4px 14px;
  width: fit-content;
}

/* Nagłówek */
.pku-hs-title {
  font-size: 34px;
  font-weight: 800;
  line-height: 1.2;
  color: #1a1a1a;
  margin: 0;
}
.pku-hs-text-light .pku-hs-title { color: #fff; }

/* Opis */
.pku-hs-desc {
  font-size: 15px;
  line-height: 1.6;
  color: #444;
  margin: 0;
  max-width: 340px;
}
.pku-hs-text-light .pku-hs-desc { color: rgba(255,255,255,.85); }

/* Przyciski CTA */
.pku-hs-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.pku-hs-btn {
  display: inline-block;
  padding: 12px 28px;
  background: #2B6B30;
  color: #fff !important;
  font-size: 14px;
  font-weight: 700;
  border-radius: 6px;
  text-decoration: none !important;
  transition: background .18s ease;
  white-space: nowrap;
}
.pku-hs-btn:hover { background: #1e8a38; }

.pku-hs-btn--ghost {
  background: transparent;
  border: 2px solid #2B6B30;
  color: #2B6B30 !important;
}
.pku-hs-btn--ghost:hover { background: rgba(43,107,48,.08); }
.pku-hs-text-light .pku-hs-btn--ghost {
  border-color: rgba(255,255,255,.7);
  color: #fff !important;
}

/* ── Prawa kolumna: zdjęcia ──────────────────────────────────────────────── */
.pku-hs-right {
  flex: 0 0 50%;
  max-width: 50%;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: center;
  gap: 16px;
  padding: 24px 32px 0;
  box-sizing: border-box;
  overflow: hidden;
}

/* Zdjęcia produktów */
.pku-hs-right--prod img {
  flex: 0 1 auto;
  max-height: 260px;
  max-width: 180px;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(0,0,0,.10));
  transition: transform .25s ease;
}
.pku-hs-right--prod img:hover { transform: translateY(-4px); }

/* ── App variant: mockup telefonu ────────────────────────────────────────── */
.pku-hs-right--app {
  align-items: center;
  justify-content: center;
  padding: 32px;
}

.pku-hs-app-wrap {
  display: flex;
  align-items: center;
  gap: 28px;
}

.pku-hs-phone {
  width: 165px;
  flex-shrink: 0;
  background: #fff;
  border-radius: 22px;
  box-shadow: 0 8px 32px rgba(0,0,0,.25);
  overflow: hidden;
  border: 3px solid rgba(255,255,255,.2);
}
.pku-hs-phone__screen { background: #f5f9f5; }
.pku-hs-phone__bar {
  background: #2B6B30;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.pku-hs-phone__av {
  width: 26px; height: 26px;
  background: rgba(255,255,255,.3);
  border-radius: 50%;
  font-size: 10px; font-weight: 700; color: #fff;
  display: flex; align-items: center; justify-content: center;
}
.pku-hs-phone__name { font-size: 12px; font-weight: 700; color: #fff; }
.pku-hs-phone__body { padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; }
.pku-hs-phone__card {
  background: #fff;
  border-radius: 10px;
  padding: 10px 12px;
  box-shadow: 0 2px 8px rgba(0,0,0,.07);
}
.pku-hs-phone__lbl { font-size: 10px; color: #888; font-weight: 500; }
.pku-hs-phone__phe { font-size: 22px; font-weight: 800; color: #2B6B30; }
.pku-hs-phone__phe span { font-size: 12px; color: #888; font-weight: 400; }
.pku-hs-phone__pb {
  height: 6px; background: #e8f5e9; border-radius: 3px; margin-top: 6px;
}
.pku-hs-phone__fill {
  width: 36%; height: 100%; background: #2B6B30; border-radius: 3px;
}
.pku-hs-phone__mini {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 6px;
}
.pku-hs-phone__mc {
  background: #fff; border-radius: 8px; padding: 7px 6px; text-align: center;
  box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.pku-hs-phone__mv { font-size: 14px; font-weight: 800; color: #1a1a1a; }
.pku-hs-phone__ml { font-size: 9px; color: #888; }
.pku-hs-phone__nav {
  padding: 8px; text-align: center; font-size: 16px;
  background: #fff; border-top: 1px solid #f0f0f0;
  letter-spacing: 10px;
}

.pku-hs-app-stats {
  display: flex; flex-direction: column; gap: 14px;
}
.pku-hs-app-stat { text-align: center; }
.pku-hs-app-num {
  font-size: 22px; font-weight: 800; color: #fff; line-height: 1;
}
.pku-hs-app-lab { font-size: 11px; color: rgba(255,255,255,.75); font-weight: 500; }

/* ── Nawigacja: strzałki ─────────────────────────────────────────────────── */
.pku-hs-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(255,255,255,.85);
  border: none;
  border-radius: 50%;
  width: 38px; height: 38px;
  font-size: 22px; line-height: 1;
  color: #2B6B30;
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
  transition: background .15s, transform .15s;
}
.pku-hs-arrow:hover { background: #fff; transform: translateY(-50%) scale(1.1); }
.pku-hs-prev { left: max(16px, calc((100% - 1200px) / 2 + 20px)); }
.pku-hs-next { right: max(16px, calc((100% - 1200px) / 2 + 20px)); }

/* ── Nawigacja: kropki ───────────────────────────────────────────────────── */
.pku-hs-dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  gap: 7px;
  z-index: 10;
}
.pku-hs-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  border: none;
  background: rgba(43,107,48,.25);
  cursor: pointer;
  padding: 0;
  transition: background .2s, transform .2s;
}
.pku-hs-dot-active,
.pku-hs-dot:hover {
  background: #2B6B30;
  transform: scale(1.3);
}

/* ── Fix Astra: ast-container na stronie głównej ─────────────────────────── */
.home #content .entry-content,
.home .site-content .entry-content,
.home .ast-article-post .entry-content {
  padding: 0 !important;
  margin: 0 !important;
  max-width: none !important;
}



/* ── Hero Slider: tryb pełnego tła (bg_image) ───────────────────────────── */
.pku-hs-slide--fullbg {
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  display: flex !important;
  align-items: stretch;
}

/* Frosted-glass overlay na tekst */
.pku-hs-overlay {
  position: relative;
  z-index: 2;
  width: 46%;
  min-width: 300px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 14px;
  padding: 44px 52px;
  box-sizing: border-box;
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
/* Overlay po prawej stronie */
.pku-hs-overlay--right {
  margin-left: auto;
}

/* Tekst w overlay — zawsze ciemny (baner jasny po lewej) */
.pku-hs-slide--fullbg .pku-hs-tag  { background: #2e7d32; color: #fff; }
.pku-hs-slide--fullbg .pku-hs-title { color: #1b5e20; }
.pku-hs-slide--fullbg .pku-hs-desc  { color: #2d4a2f; }
.pku-hs-slide--fullbg .pku-hs-btn   { background: #2e7d32; color: #fff; }
.pku-hs-slide--fullbg .pku-hs-btn:hover { background: #1b5e20; }

/* Mobile: overlay zajmuje całą szerokość */
@media (max-width: 768px) {
  .pku-hs-overlay {
    width: 100%;
    min-width: unset;
    padding: 28px 24px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    /* Na mobile przyciemnij mocniej żeby tekst był czytelny */
    background: rgba(255,255,255,0.78) !important;
  }
  .pku-hs-slide--fullbg {
    background-position: right center !important;
  }
}

/* ── Hero Slider: tablet ──────────────────────────────────────── */
@media (max-width: 1024px) {
  .pku-hero-slide.pku-hs-active { min-height: 300px !important; }
  .pku-hs-left { padding: 32px 36px !important; gap: 12px !important; }
  .pku-hs-title { font-size: 26px !important; }
  .pku-hs-right { gap: 12px !important; padding: 20px 24px !important; }
  .pku-hs-right img { max-height: 210px !important; max-width: 145px !important; }
}

/* ── Hero Slider: mały tablet / duży telefon ──────────────────── */
@media (max-width: 860px) {
  .pku-hs-left { padding: 24px 28px !important; }
  .pku-hs-title { font-size: 22px !important; }
  .pku-hs-desc { font-size: 13px !important; max-width: 260px !important; }
  .pku-hs-right img { max-height: 170px !important; max-width: 120px !important; }
  .pku-hs-tag { font-size: 10px !important; padding: 3px 10px !important; }
}

/* ── Sekcje: nagłówki i paddingu na mobile ────────────────────── */
@media (max-width: 768px) {
  .pku-section__header { padding: 0 16px !important; margin-bottom: 10px !important; }
  .pku-section__title { font-size: 17px !important; padding-left: 8px !important; }
  .pku-slider-wrap { padding: 0 16px !important; }
  .pku-section { margin-bottom: 28px !important; }
}

/* ── Features: ikony i padding przy pionowym układzie ────────── */
@media (max-width: 768px) {
  .pku-features.pku-features--3col { padding: 6px 16px !important; }
  .pku-features--3col .pku-feature { padding: 10px 0 !important; gap: 12px !important; }
  .pku-feature__icon { width: 34px !important; height: 34px !important; flex-shrink: 0 !important; }
  .pku-feature__content h4 { font-size: 13px !important; }
  .pku-feature__content p { font-size: 12px !important; }
  .pku-feature.pku-feature--link { border-radius: 0 !important; }
}

/* ── Karty produktów: 2 kolumny na telefonie zawsze ──────────── */
@media (max-width: 480px) {
  .woocommerce ul.products,
  .pku-slider { grid-template-columns: repeat(2,1fr) !important; gap: 10px !important; }
  .pku-slider-wrap { padding: 0 12px !important; }
  .pku-section__header { padding: 0 12px !important; }
  .pku-card-title { font-size: 12px !important; padding: 5px 8px 3px !important; }
  .pku-card-price { font-size: 13px !important; padding: 0 8px 4px !important; }
  .pku-product-card .add_to_cart_button,
  .pku-product-card .button { font-size: 11px !important; padding: 8px 4px !important; }
}

/* ── Header right group: wąskie ekrany ───────────────────────── */
@media (max-width: 768px) {
  .pku-header-right-group { gap: 6px !important; }
}
@media (max-width: 480px) {
  .pku-account-btn__text { display: none !important; }
  .pku-account-btn { padding: 6px 10px !important; min-width: 0 !important; gap: 0 !important; }
}

/* ── Topbar: padding mobile ──────────────────────────────────── */
@media (max-width: 768px) {
  .pku-topbar__inner { padding: 5px 14px !important; }
  .pku-ticker__text { font-size: 11px !important; }
}

/* ── Super Oferta: header i padding na telefonie ─────────────── */
@media (max-width: 600px) {
  .pku-super-oferta { padding: 0 12px !important; }
  .pku-so-header { padding: 12px 16px !important; }
  .pku-so-header__title { font-size: 18px !important; }
  .pku-so-counter { font-size: 11px !important; }
}

/* ── Kontakt: padding formularza i kart na mobile ────────────── */
@media (max-width: 768px) {
  .pku-contact-form { padding: 20px 18px !important; margin-bottom: 24px !important; }
  .pku-contact-card { padding: 14px 16px !important; }
  .pku-contact-card__body strong { font-size: 10px !important; }
  .pku-contact-card__body span { font-size: 13px !important; }
  .pku-contact-form .wpcf7 textarea { height: 160px !important; }
}

/* ── Stopka: newsletter na małym telefonie ───────────────────── */
@media (max-width: 480px) {
  .pku-newsletter-form { flex-direction: column !important; gap: 8px !important; }
  .pku-newsletter-input { width: 100% !important; }
  .pku-newsletter-btn { width: 100% !important; text-align: center !important; }
  .pku-footer-inner { padding: 28px 14px 20px !important; }
}

/* ── Banery promocyjne: 1 kolumna na małym telefonie ─────────── */
@media (max-width: 480px) {
  .pku-banners { grid-template-columns: repeat(1,1fr) !important; }
}

/* ── Promo banners kafelki: padding ──────────────────────────── */
@media (max-width: 768px) {
  .pku-banners { padding: 0 16px !important; gap: 10px !important; margin: 16px auto !important; }
}


/* ═══════════════════════════════════════════════════════════════════
   GRID RESPONSYWNY — kolumny + sidebar drawer  (patch 2025)
   ═══════════════════════════════════════════════════════════════════ */

/* ── Strona główna: slider BEZ sidebara ─────────────────────────── */
@media (max-width: 1200px) {
  .pku-slider { grid-template-columns: repeat(3,1fr) !important; }
}
@media (max-width: 768px) {
  .pku-slider { grid-template-columns: repeat(2,1fr) !important; }
}
@media (max-width: 480px) {
  .pku-slider { grid-template-columns: repeat(1,1fr) !important; gap: 12px !important; }
}

/* ── Sklep / podstrony Z sidebarem — desktop: 3 kolumny ─────────── */
body.pku-has-shop .woocommerce ul.products,
body.pku-has-shop .pku-cards-grid {
  grid-template-columns: repeat(3,1fr) !important;
}

/* Tablet ≤1100px: 2 kolumny + sidebar */
@media (max-width: 1100px) {
  body.pku-has-shop .woocommerce ul.products,
  body.pku-has-shop .pku-cards-grid {
    grid-template-columns: repeat(2,1fr) !important;
  }
  .pku-sidebar { flex: 0 0 200px !important; width: 200px !important; }
}

/* Telefon ≤768px: sidebar → szuflada, produkty 2 kolumny */
@media (max-width: 768px) {
  body.pku-has-shop .woocommerce ul.products,
  body.pku-has-shop .pku-cards-grid {
    grid-template-columns: repeat(2,1fr) !important;
    gap: 10px !important;
  }

  /* Shop-wrap: nie stackuj już kolumnowo, sidebar jest fixed */
  .pku-shop-wrap { flex-direction: row !important; gap: 0 !important; }

  /* ── SIDEBAR DRAWER ── */
  .pku-sidebar {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    height: 100dvh !important;
    width: 300px !important;
    max-width: 88vw !important;
    flex: none !important;
    z-index: 999999 !important;
    background: #fff !important;
    box-shadow: 6px 0 28px rgba(0,0,0,.18) !important;
    overflow-y: auto !important;
    transform: translateX(-110%) !important;
    transition: transform .28s cubic-bezier(.4,0,.2,1) !important;
    padding: 16px 18px 40px !important;
    border-radius: 0 14px 14px 0 !important;
  }
  .pku-sidebar.pku-sidebar--open {
    transform: translateX(0) !important;
  }

  /* Overlay */
  .pku-sidebar-overlay {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(0,0,0,.42) !important;
    z-index: 999998 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    transition: opacity .28s, visibility .28s !important;
  }
  .pku-sidebar-overlay.pku-overlay--active {
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* Przycisk "Pokaż filtry" */
  .pku-filter-toggle-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: #fff !important;
    border: 1.5px solid #d0d0d0 !important;
    border-radius: 8px !important;
    padding: 9px 16px !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: #333 !important;
    cursor: pointer !important;
    margin-bottom: 12px !important;
  }
  .pku-filter-toggle-btn:hover {
    border-color: #2db34b !important;
    color: #2db34b !important;
  }

  /* Zamknij — wewnątrz sidebara */
  .pku-sidebar-close-btn {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: none !important;
    border: none !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: #333 !important;
    cursor: pointer !important;
    padding: 0 0 14px !important;
    border-bottom: 1px solid #e8e8e8 !important;
    margin-bottom: 16px !important;
    width: 100% !important;
    text-align: left !important;
  }
  .pku-sidebar-close-btn:hover { color: #2db34b !important; }
}

/* Mały telefon ≤480px: 1 kolumna */
@media (max-width: 480px) {
  body.pku-has-shop .woocommerce ul.products,
  body.pku-has-shop .pku-cards-grid {
    grid-template-columns: repeat(1,1fr) !important;
  }
}

/* Desktop: ukryj elementy mobilne */
@media (min-width: 769px) {
  .pku-filter-toggle-btn { display: none !important; }
  .pku-sidebar-overlay { display: none !important; }
  .pku-sidebar-close-btn { display: none !important; }
}

/* ── Slider: zawsze 1 wiersz — nadmiarowe kafelki ukryte ─────────── */
.pku-slider {
  grid-template-rows: auto !important;
  grid-auto-rows: 0px !important;
  overflow: hidden !important;
}

/* ── Fix: białe tło na WSZYSTKICH pku-content-page (Regulamin, FAQ, itd.)
   Poprzednia reguła ast-separate-container miała wyższą specyficzność
   i wygrywała z background:#fff — przebijamy ją tutaj.          ── */
body.ast-separate-container.pku-content-page article.ast-article-single,
body.pku-content-page article.ast-article-single {
  background: #fff !important;
  box-shadow: 0 2px 16px rgba(0,0,0,.06) !important;
  border-radius: 12px !important;
  padding: 40px !important;
  max-width: 1280px !important;
  margin: 0 auto !important;
}

/* ── Odstęp białej karty od menu (góra) ── */
body.pku-content-page #primary {
  padding-top: 28px !important;
}
body.pku-content-page .site-main {
  padding-top: 0 !important;
}
/* ast-separate-container miało padding na #primary — zeruję go żeby
   nie dublować z padding-top wyżej */
body.ast-separate-container.pku-content-page #primary,
body.ast-separate-container.pku-content-page .site-main {
  max-width: 100% !important;
  padding: 28px 0 60px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* ── Sidebar sticky + min-height (desktop) ───────────────────────────
   1. .pku-shop-wrap ma min-height = wysokość sidebara (align-items:stretch
      rozciąga kolumnę treści do wysokości sidebara gdy sidebar jest wyższy)
   2. .pku-sidebar: position sticky — przykleja się przy scrollu
   Działa tylko na desktop (≥769px); na mobile sidebar jest drawrem.    ── */
@media (min-width: 769px) {
  .pku-shop-wrap {
    align-items: stretch !important;
  }
  .pku-sidebar {
    position: sticky !important;
    top: 100px !important;
    align-self: flex-start !important;
  }
  .pku-shop-main {
    min-height: 600px;
  }
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE OVERHAUL — pełny fix dla telefonów (patch 2025-06)     ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ── 1. TOPBAR: ukryj całkowicie na mobile ─────────────────────────
   Ticker + dropdown języka są nieczytelne na 390px → wycinamy.     */
@media (max-width: 768px) {
  .pku-topbar { display: none !important; }
}

/* ── 2. HEADER MOBILNY — kompaktowy ──────────────────────────────── */
@media (max-width: 768px) {
  /* Logo mniejsze */
  .custom-logo,
  .ast-site-identity img.custom-logo {
    max-height: 42px !important;
    width: auto !important;
  }

  /* Mniejszy padding wrappera headera */
  .ast-main-header-wrap,
  .ast-primary-header-bar {
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    min-height: 58px !important;
  }

  /* Przyciski po prawej: koszyk/konto/wishlist — mniej padding */
  .pku-header-right-group { gap: 4px !important; }

  .pku-cart-btn,
  .pku-account-btn,
  .pku-wishlist-btn {
    padding: 5px 8px !important;
    min-width: 0 !important;
    gap: 0 !important;
    font-size: 0 !important;  /* ukryj tekst, zostaw tylko ikonę */
  }
  .pku-cart-btn__icon,
  .pku-account-btn__icon,
  .pku-wishlist-btn__icon,
  .pku-wishlist-btn svg {
    width: 22px !important;
    height: 22px !important;
  }
  /* Badge koszyka — zachowaj */
  .pku-cart-count {
    font-size: 10px !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
  }

  /* Ikona hamburgera Astra */
  .ast-menu-toggle {
    padding: 6px 8px !important;
    font-size: 22px !important;
  }

  /* Search bar w headerze — full width pod logiem */
  .ast-search-menu-icon .search-field,
  .ast-header-search .search-field {
    font-size: 14px !important;
  }
}

/* ── 3. GŁÓWNY KONTENER — boczne paddingi ────────────────────────── */
@media (max-width: 768px) {
  .ast-container {
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  /* entry-content ma swój padding — wyrównaj */
  .entry-content {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ── 4. HERO SLIDER na małym telefonie (<480px) ──────────────────── */
@media (max-width: 480px) {
  .pku-hero-slide.pku-hs-active {
    flex-direction: column !important;
    min-height: unset !important;
  }
  .pku-hs-left {
    flex: none !important;
    padding: 20px 16px 12px !important;
    gap: 8px !important;
  }
  .pku-hs-title { font-size: 20px !important; line-height: 1.25 !important; }
  .pku-hs-desc  { font-size: 13px !important; max-width: 100% !important; }
  .pku-hs-btn   { font-size: 13px !important; padding: 10px 18px !important; }
  .pku-hs-tag   { font-size: 10px !important; }
  .pku-hs-right {
    flex: none !important;
    padding: 8px 12px 16px !important;
    gap: 8px !important;
    justify-content: center !important;
  }
  .pku-hs-right img {
    max-height: 110px !important;
    max-width: 80px !important;
  }
  /* Strzałki na mobile — ukryj, dotki wystarczą */
  .pku-hs-arrow { display: none !important; }
  .pku-hs-dots  { bottom: 8px !important; }
}

/* ── 5. SEKCJE STRONY GŁÓWNEJ — padding i fonty ─────────────────── */
@media (max-width: 480px) {
  .pku-section { margin-bottom: 20px !important; }
  .pku-section__title {
    font-size: 15px !important;
    padding-left: 6px !important;
  }
  .pku-section__header {
    padding: 0 14px !important;
    margin-bottom: 8px !important;
  }
  .pku-slider-wrap { padding: 0 14px !important; gap: 8px !important; }

  /* Karty produktów — skompaktuj */
  .pku-product-card { border-radius: 8px !important; }
  .pku-card-img     { border-radius: 8px 8px 0 0 !important; }
  .pku-card-img img { height: 110px !important; }
  .pku-card-title   { font-size: 11px !important; line-height: 1.3 !important; padding: 4px 6px 2px !important; }
  .pku-card-price   { font-size: 12px !important; padding: 0 6px 4px !important; }
  .pku-product-card .button,
  .pku-product-card .add_to_cart_button {
    font-size: 11px !important;
    padding: 7px 4px !important;
    border-radius: 0 0 8px 8px !important;
  }
}

/* ── 6. FEATURES — ikony + tekst poziomo na mobile ──────────────── */
@media (max-width: 480px) {
  .pku-features--3col {
    flex-direction: column !important;
    padding: 6px 14px !important;
  }
  .pku-feature {
    flex-direction: row !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 8px 0 !important;
  }
  .pku-feature__icon {
    width: 30px !important;
    height: 30px !important;
    flex-shrink: 0 !important;
  }
  .pku-feature__content h4 { font-size: 12px !important; margin: 0 !important; }
  .pku-feature__content p  { font-size: 11px !important; margin: 0 !important; }
}

/* ── 7. FOOTER — jedna kolumna na telefonie ─────────────────────── */
@media (max-width: 480px) {
  .pku-footer-inner {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    padding: 24px 14px 20px !important;
  }
  .pku-footer__logo-img { max-height: 36px !important; }
  .pku-footer__tagline  { font-size: 12px !important; }
  .pku-footer-section-title { font-size: 12px !important; }
  .pku-footer-links li a { font-size: 12px !important; }
}

/* ── 8. SHOP + SIDEBAR — produkt grid na mobile ─────────────────── */
@media (max-width: 480px) {
  /* W trybie szuflady: główna treść zajmuje pełną szerokość */
  .pku-shop-main { width: 100% !important; }

  /* Przycisk Filtry — pełna szerokość */
  .pku-filter-toggle-btn {
    width: 100% !important;
    justify-content: center !important;
    margin-bottom: 10px !important;
  }
}

/* ── 9. WOOCOMMERCE — ogólne poprawki mobile ─────────────────────── */
@media (max-width: 480px) {
  /* Strona produktu */
  .pku-purchase-price .price { font-size: 1.3rem !important; }

  /* Breadcrumbs — mniejszy font */
  .woocommerce-breadcrumb { font-size: 11px !important; }

  /* Przycisk "Dodaj do koszyka" na stronie produktu */
  .single_add_to_cart_button {
    font-size: 14px !important;
    padding: 12px 20px !important;
  }

  /* Tabele w koszyku */
  .woocommerce-cart-form table.shop_table { font-size: 13px !important; }

  /* Krok checkout */
  .woocommerce-checkout #payment { padding: 14px !important; }
}

/* ── 10. OGÓLNE UX — scroll + overflow fix ──────────────────────── */
@media (max-width: 768px) {
  /* Zapobiegaj poziomemu przewijaniu — clip zamiast hidden, zeby nie psuc position: sticky nagłówka */
  body { overflow-x: clip !important; }

  /* Obrazki w treści — max-width */
  .entry-content img,
  .woocommerce-product-gallery img {
    max-width: 100% !important;
    height: auto !important;
  }

  /* Tabele — scroll poziomy zamiast przepełnienia */
  .entry-content table,
  .woocommerce-table {
    display: block !important;
    overflow-x: auto !important;
    max-width: 100% !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════╗
   ║  MOBILE v2 — czysty header + bottom bar + slider fix        ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* ── Header: ukryj email i teksty przycisków na mobile ─────────── */
@media (max-width: 768px) {
  /* Email "Napisz do nas" — całkowicie ukryty */
  .pku-phone-btn { display: none !important; }

  /* Konto — tylko ikona, bez "Konto / Zaloguj" */
  .pku-account-btn__text { display: none !important; }
  .pku-account-btn {
    padding: 6px 8px !important;
    min-width: 0 !important;
    gap: 0 !important;
  }

  /* Koszyk Astra — ukryj cenę, zostaw ikonę */
  .ast-woo-header-cart-info-wrap { display: none !important; }
  .ast-site-header-cart .cart-container { padding: 6px 8px !important; }

  /* Header right group — mniejszy gap */
  .pku-header-right-group { gap: 2px !important; }

  /* Logo — mniejsze na mobile */
  .custom-logo { max-height: 40px !important; width: auto !important; }
}

/* ── Body: padding-bottom żeby content nie chował się pod bottom bar ── */
@media (max-width: 768px) {
  body { padding-bottom: 60px !important; }
  /* admin bar — nie dotyczy frontendowych użytkowników */
  .admin-bar body { padding-bottom: 60px !important; }
}

/* ── Sticky bottom bar ───────────────────────────────────────────── */
.pku-bottom-bar {
  display: none; /* domyślnie ukryty — pokazywany przez @media */
}
@media (max-width: 768px) {
  .pku-bottom-bar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    height: 58px !important;
    background: #fff !important;
    border-top: 1px solid #e8e8e8 !important;
    box-shadow: 0 -2px 12px rgba(0,0,0,.10) !important;
    z-index: 99999 !important;
    align-items: stretch !important;
    justify-content: space-around !important;
  }
  .pku-bottom-bar__item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 1 !important;
    gap: 3px !important;
    text-decoration: none !important;
    color: #555 !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    position: relative !important;
    padding: 6px 0 !important;
    transition: color .15s !important;
  }
  .pku-bottom-bar__item:hover,
  .pku-bottom-bar__item.active { color: #2db34b !important; }
  .pku-bottom-bar__icon {
    width: 22px !important;
    height: 22px !important;
    display: block !important;
  }
  .pku-bottom-bar__icon svg {
    width: 22px !important;
    height: 22px !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }
  /* Badge koszyka */
  .pku-bottom-bar__badge {
    position: absolute !important;
    top: 4px !important;
    left: calc(50% + 4px) !important;
    background: #2db34b !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    min-width: 16px !important;
    height: 16px !important;
    line-height: 16px !important;
    text-align: center !important;
    border-radius: 8px !important;
    padding: 0 3px !important;
    display: none !important;
  }
  .pku-bottom-bar__badge.pku-bb-visible {
    display: block !important;
  }
  /* Badge ulubionych — wypelniany przez JS wtyczki TI Wishlist (.wishlist_products_counter_number),
     ktora nie zna klasy pku-bb-visible, wiec widocznosc opieramy na :empty zamiast osobnego JS */
  #pku-bb-wishlist-count:empty {
    display: none !important;
  }
  #pku-bb-wishlist-count:not(:empty) {
    display: block !important;
  }
}

/* ── Hero slider: max 2 produkty na mobile ──────────────────────── */
@media (max-width: 600px) {
  /* Ukryj 3. zdjęcie w slocie right */
  .pku-hs-right img:nth-child(3) { display: none !important; }
  /* Daj więcej miejsca pozostałym 2 */
  .pku-hs-right img {
    max-height: 130px !important;
    max-width: 100px !important;
  }
}
@media (max-width: 480px) {
  .pku-hs-right img { max-height: 110px !important; max-width: 85px !important; }
  .pku-hs-right { gap: 10px !important; justify-content: center !important; padding: 10px 16px 14px !important; }
}



/* ╔══════════════════════════════════════════════════════════════╗
   ║  MOBILE v3 — header layout / SO img / cards / footer        ║
   ╚══════════════════════════════════════════════════════════════╝ */

/* ── 1. HEADER MOBILE: hamburger lewo, logo środek, koszyk prawo ── */
@media (max-width: 920px) {
  /* Rozciągnij grid-row na całą szerokość i ustaw flex */
  #ast-mobile-header .ast-builder-grid-row {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    height: 100% !important;
    padding: 0 8px !important;
    position: relative !important;
  }

  /* Logo — wysrodkowane wzgledem calego paska (absolute), niezaleznie od tego
     co jest po bokach (koszyk usuniety z gornego paska — zostal tylko hamburger) */
  #ast-mobile-header .site-header-primary-section-left {
    display: flex !important;
    justify-content: center !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-50%, -50%) !important;
    pointer-events: none !important;
  }
  #ast-mobile-header .site-header-primary-section-left a,
  #ast-mobile-header .site-header-primary-section-left img {
    pointer-events: auto !important;
  }

  /* Hamburger — na sztywno przy lewej krawedzi (absolute), niezaleznie od tego
     jak Astra ustawia flex/order/justify-content dla sekcji "right" */
  #ast-mobile-header .site-header-primary-section-right {
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    display: flex !important;
    align-items: center !important;
  }

  /* Logo mniejsze */
  #ast-mobile-header .custom-logo {
    max-height: 38px !important;
    width: auto !important;
  }

  /* Padding headera — zmniejszone (bez ruszania logo/hamburgera, ktore maja wlasne rozmiary) */
  #ast-mobile-header .ast-primary-header-bar {
    padding: 2px 0 !important;
    min-height: 44px !important;
  }

  /* Prawdziwy winowajca wysokosci: osobna regula Astry "Header Padding" (nie "Header Height")
     — .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar ma 1em top/bottom,
     co dominowalo nad min-height i renderowalo pasek dużo wyzszy niz ustawione 44px. */
  html body .ast-header-break-point #masthead .ast-primary-header-bar.main-header-bar,
  html body .ast-desktop .ast-primary-header-bar.main-header-bar {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }

  /* Prawdziwy powod ze pasek nie chcial sie zmniejszyc: guzik hamburgera uzywa
     rozmiarow w em (width:2.2em, height:2.1em) wzgledem duzego font-size —
     realnie byl znacznie wiekszy niz logo. Wymuszamy sztywne px, zeby przestal
     naduzywac przestrzeni. */
  #ast-mobile-header .menu-toggle.main-header-menu-toggle {
    width: 32px !important;
    height: 32px !important;
    padding: 0 !important;
    font-size: 16px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  #ast-mobile-header .menu-toggle.main-header-menu-toggle svg.ast-mobile-svg {
    width: 22px !important;
    height: 22px !important;
  }

  /* Twardy limit wysokosci + overflow:hidden — jedyne co dotychczas realnie
     dzialalo i dalo sie zweryfikowac. 56px, zeby zmiescic logo (~38px) i
     hamburger, z niewielkim marginesem bezpieczenstwa przed obcinaniem. */
  html body #ast-mobile-header .ast-primary-header-bar.main-header-bar {
    padding-top: 4px !important;
    padding-bottom: 4px !important;
    min-height: 56px !important;
    height: 56px !important;
    max-height: 56px !important;
    overflow: hidden !important;
  }
}

/* ── 2. SUPER OFERTA: zdjęcie widoczne na mobile ──────────────── */
@media (max-width: 600px) {
  /* Pokaż kolumnę ze zdjęciem — usuń poprzednie display:none */
  .pku-so-col--img { display: flex !important; justify-content: center !important; }

  /* Nowy układ: zdjęcie na górze (pełna szerokość), info pod spodem */
  .pku-so-slide {
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto auto !important;
    padding: 0 !important;
  }

  /* Timer — pierwszy wiersz, poziomo */
  .pku-so-col--timer {
    grid-column: 1 !important;
    grid-row: 1 !important;
    border-right: none !important;
    border-bottom: 1px solid #333 !important;
    padding: 12px 16px !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 10px !important;
    align-items: center !important;
  }

  /* Zdjęcie — drugi wiersz */
  .pku-so-col--img {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding: 14px 16px 8px !important;
  }
  .pku-so-col--img img {
    max-height: 160px !important;
    max-width: 100% !important;
    object-fit: contain !important;
  }

  /* Info (tytuł, cena, przycisk) — trzeci wiersz */
  .pku-so-col--info {
    grid-column: 1 !important;
    grid-row: 3 !important;
    border-left: none !important;
    border-top: 1px solid #333 !important;
    padding: 12px 16px 16px !important;
  }

  /* Tytuł i cena mniejsze */
  .pku-so-title { font-size: 15px !important; }
  .pku-so-price-sale { font-size: 22px !important; }
  .pku-so-valid-label { display: inline !important; font-size: 10px !important; }
  .pku-so-num { font-size: 18px !important; width: 42px !important; }
}

/* ── 3. KARTY PRODUKTÓW: popraw przycinanie zdjęć ─────────────── */
/* Widok siatki (4 kwadraciki) — 2 kolumny na mobile */
@media (max-width: 768px) {
  /* Główna siatka — zawsze 2 kolumny */
  .pku-view-grid ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Zdjęcia — aspect-ratio zamiast fixed height */
  .pku-product-card .pku-card-img,
  .woocommerce ul.products li.product .pku-card-img,
  ul.products li.product .pku-card-img {
    height: auto !important;
    aspect-ratio: 1 / 1 !important;
    overflow: hidden !important;
  }
  .pku-product-card .pku-card-img img,
  .woocommerce ul.products li.product .pku-card-img img,
  ul.products li.product .pku-card-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    padding: 8px !important;
    aspect-ratio: unset !important;
  }

  /* Slajdery na głównej (Nowości, Popularne, Polecane) */
  .pku-slider .pku-product-card .pku-card-img {
    aspect-ratio: 1 / 1 !important;
    height: auto !important;
  }
  .pku-slider .pku-product-card .pku-card-img img {
    height: 100% !important;
    object-fit: contain !important;
    padding: 8px !important;
  }
}

/* ── 4. STOPKA: accordion na mobile ─────────────────────────────── */
@media (max-width: 600px) {
  /* Ukryj listy linków domyślnie */
  .pku-footer-col:not(.pku-footer-col--brand):not(.pku-footer-col--newsletter)
  .pku-footer-links {
    display: none !important;
    margin-top: 8px !important;
  }
  .pku-footer-col:not(.pku-footer-col--brand):not(.pku-footer-col--newsletter)
  .pku-footer-links.pku-footer-open {
    display: block !important;
  }

  /* Nagłówek sekcji — klikalny, ze strzałką */
  .pku-footer-col:not(.pku-footer-col--brand):not(.pku-footer-col--newsletter)
  .pku-footer-heading {
    cursor: pointer !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    padding: 12px 0 !important;
    border-bottom: 1px solid rgba(255,255,255,.1) !important;
    margin: 0 !important;
    user-select: none !important;
  }
  .pku-footer-heading::after {
    content: '+' !important;
    font-size: 18px !important;
    font-weight: 400 !important;
    transition: transform .2s !important;
    flex-shrink: 0 !important;
  }
  .pku-footer-heading.pku-footer-open::after {
    content: '−' !important;
  }

  /* Kolumna brand (logo + kontakt) — zawsze widoczna */
  .pku-footer-col--brand { border-bottom: 1px solid rgba(255,255,255,.1) !important; padding-bottom: 16px !important; margin-bottom: 4px !important; }

  /* Newsletter — zawsze widoczny */
  .pku-footer-col--newsletter .pku-footer-heading { cursor: default !important; }
  .pku-footer-col--newsletter .pku-footer-heading::after { display: none !important; }
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v4                                                      ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ── 1. FEATURES: na mobile tylko Facebook (2. element) ─────────── */
@media (max-width: 768px) {
  .pku-features--3col .pku-feature:nth-child(1),
  .pku-features--3col .pku-feature:nth-child(3) {
    display: none !important;
  }
  /* Jedna feature — wyśrodkuj */
  .pku-features--3col {
    justify-content: center !important;
  }
  .pku-features--3col .pku-feature:nth-child(2) {
    border-bottom: none !important;
    padding: 10px 0 !important;
    justify-content: center !important;
  }
}

/* ── 2. TOPBAR: przywróć na mobile, uproszczony ─────────────────── */
/* Nadpisz wcześniejszy display:none */
@media (max-width: 768px) {
  .pku-topbar {
    display: block !important;
  }
  /* Ukryj dropdown języka — zostaw tylko ticker */
  .pku-topbar .pku-lang-dropdown,
  .pku-topbar .pku-topbar__right {
    display: none !important;
  }
  .pku-topbar__inner {
    grid-template-columns: 1fr !important;
    padding: 5px 14px !important;
    min-height: 30px !important;
  }
  .pku-ticker__text {
    font-size: 11px !important;
    text-align: center !important;
    justify-content: center !important;
  }
}

/* ── 3. SLIDER: ukryj nadmiarowe karty (koniec ze "strajpami") ──── */
/* Usuń stary hack grid-auto-rows i zastąp display:none na nth-child */

/* Desktop: 4 kolumny — pokaż max 4 */
.pku-slider > *:nth-child(n+5) { display: none !important; }

/* Tablet ≤1200px: 3 kolumny */
@media (max-width: 1200px) {
  .pku-slider > *:nth-child(4) { display: none !important; }
  .pku-slider > *:nth-child(n+4) { display: none !important; }
}

/* Duży telefon ≤768px: 2 kolumny */
@media (max-width: 768px) {
  .pku-slider > *:nth-child(n+3) { display: none !important; }
}

/* Mały telefon ≤480px: 1 kolumna */
@media (max-width: 480px) {
  .pku-slider > *:nth-child(n+2) { display: none !important; }
}

/* Wyzeruj stary hack (żeby nie było konfliktów) */
.pku-slider {
  grid-auto-rows: auto !important;
}

/* ── 4. STOPKA: newsletter jako pierwszy element ─────────────────── */
@media (max-width: 600px) {
  .pku-footer-inner {
    display: flex !important;
    flex-direction: column !important;
  }
  .pku-footer-col--newsletter {
    order: -2 !important;   /* PIERWSZE */
  }
  .pku-footer-col--brand {
    order: -1 !important;   /* DRUGIE */
  }
  /* Pozostałe kolumny (O firmie, Centrum pomocy) idą po kolei */
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v5 — kontakt / mega menu / bottom bar                  ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ── Kontakt: popraw na mobile ───────────────────────────────────── */
@media (max-width: 768px) {
  .pku-contact-page {
    grid-template-columns: 1fr !important;
    padding: 0 14px !important;
    margin: 20px auto 40px !important;
    gap: 20px !important;
  }
  .pku-contact-form {
    margin-right: 0 !important;
    max-width: 100% !important;
    padding: 16px !important;
  }
  .pku-contact-info {
    margin-right: 0 !important;
  }
  .pku-contact-card {
    padding: 10px 14px !important;
  }
}

/* ── Mega menu: na mobile → prosta lista pionowa ─────────────────── */
@media (max-width: 920px) {
  /* Ukryj mega menu domyślnie na mobile */
  .pku-mega-menu {
    display: none !important;
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    border-top: 1px solid rgba(0,0,0,.1) !important;
    background: rgba(0,0,0,.04) !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 6px 0 10px !important;
  }
  .pku-mega-menu.pku-mega-mobile-open {
    display: block !important;
  }
  .pku-mega-menu__inner {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
  }
  .pku-mega-col {
    border: none !important;
    padding: 4px 16px !important;
  }
  .pku-mega-col__title {
    font-size: 10px !important;
    padding: 6px 0 3px !important;
    opacity: .6 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #555 !important;
  }
  .pku-mega-col ul {
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
  }
  .pku-mega-col ul li { padding: 0 !important; }
  .pku-mega-col ul li a {
    display: block !important;
    padding: 7px 0 7px 12px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #3a3a3a !important;
    text-decoration: none !important;
    border-left: 2px solid transparent !important;
    transition: border-color .15s, color .15s !important;
  }
  .pku-mega-col ul li a:hover {
    color: #2db34b !important;
    border-left-color: #2db34b !important;
  }

  /* Strzałka przy Sklep — toggle przycisk */
  .pku-menu-arrow {
    display: inline-flex !important;
    align-items: center !important;
    padding: 4px 8px !important;
    margin-left: 4px !important;
    cursor: pointer !important;
    transition: transform .2s !important;
    font-style: normal !important;
  }
  .pku-menu-arrow.pku-arrow-open {
    transform: rotate(180deg) !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v6 — S21 fixes: topbar / slider / newsletter / menu    ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ── 1. Topbar: większa czcionka, lepsza widoczność ─────────────── */
@media (max-width: 920px) {
  .pku-topbar {
    display: flex !important;
    font-size: 13px !important;
    padding: 5px 12px !important;
    min-height: 30px !important;
  }
  .pku-ticker__text {
    font-size: 13px !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
  }
  .pku-topbar__left {
    font-size: 13px !important;
  }
  /* Ukryj prawą część (język itp.) */
  .pku-topbar__right {
    display: none !important;
  }
}

/* ── 2. Super Oferta: odstęp od sekcji wyżej (mobile + PC) ──────── */
.pku-super-oferta,
section.pku-super-oferta,
[class*="super-oferta"] {
  margin-top: 36px !important;
}

/* ── 3. Slider produktów: tryb 1-kolumna i 2-kolumny ────────────── */
@media (max-width: 920px) {
  /* Domyślnie 1 kolumna (nowe zachowanie) — nadpisujemy tylko przez klasy toggle */
  .pku-slider.pku-slider--1col {
    grid-template-columns: 1fr !important;
  }
  .pku-slider.pku-slider--1col > *:nth-child(n+2) {
    display: none !important;
  }
  .pku-slider.pku-slider--2col {
    grid-template-columns: 1fr 1fr !important;
  }
  .pku-slider.pku-slider--2col > *:nth-child(n+3) {
    display: none !important;
  }

  /* Przycisk toggle nad sliderami */
  .pku-slider-toggle {
    display: flex !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    padding: 0 4px 8px !important;
  }
  .pku-slider-toggle__btn {
    background: #f0f0f0 !important;
    border: 1.5px solid #ddd !important;
    border-radius: 6px !important;
    padding: 4px 8px !important;
    font-size: 16px !important;
    cursor: pointer !important;
    line-height: 1 !important;
    transition: background .15s, border-color .15s !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 34px !important;
    height: 34px !important;
  }
  .pku-slider-toggle__btn.active {
    background: #2db34b !important;
    border-color: #2db34b !important;
    color: #fff !important;
  }
}
/* Ukryj toggle na desktop — tu jest normalny slider */
@media (min-width: 921px) {
  .pku-slider-toggle { display: none !important; }
}

/* ── 4. Newsletter: wyróżnienie wizualne ─────────────────────────── */
@media (max-width: 920px) {
  .pku-footer-col--newsletter {
    background: rgba(45, 179, 75, 0.07) !important;
    border: 1.5px solid rgba(45, 179, 75, 0.35) !important;
    border-radius: 10px !important;
    padding: 16px 14px !important;
    margin: 0 0 8px !important;
  }
  .pku-footer-col--newsletter .pku-footer-heading {
    color: #1a7a32 !important;
  }
}
/* Też na PC — subtelnie */
@media (min-width: 921px) {
  .pku-footer-col--newsletter {
    background: rgba(45, 179, 75, 0.05) !important;
    border: 1px solid rgba(45, 179, 75, 0.25) !important;
    border-radius: 8px !important;
    padding: 16px !important;
  }
}

/* ── 5. Ukryj wyszukiwarkę w off-canvas mobile menu ─────────────── */
@media (max-width: 920px) {
  #ast-mobile-popup .ast-header-search,
  #ast-mobile-popup .search-form,
  #ast-mobile-popup .ast-search-menu-icon {
    display: none !important;
  }
}

/* ── 6. Mobile menu Sklep: zablokuj mega-menu PC, włącz toggle ───── */
/* Popup Astra ma jasne tło (#fafafa) — używamy ciemnych liter */
@media (max-width: 920px) {
  /* Upewnij się że mega menu jest ukryte dopóki nie otworzone przez toggle */
  #ast-mobile-popup .pku-mega-menu,
  .ast-mobile-popup-content .pku-mega-menu {
    display: none !important;
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    border-top: 1px solid rgba(0,0,0,.1) !important;
    background: rgba(0,0,0,.04) !important;
    border-radius: 0 !important;
    min-width: 0 !important;
    width: 100% !important;
    padding: 4px 0 8px !important;
    margin: 0 !important;
  }
  #ast-mobile-popup .pku-mega-menu.pku-mega-mobile-open,
  .ast-mobile-popup-content .pku-mega-menu.pku-mega-mobile-open {
    display: block !important;
  }
  /* Styl linku Sklep w mobile menu — ciemne litery na jasnym tle */
  #ast-mobile-popup .pku-mega-col ul li a,
  .ast-mobile-popup-content .pku-mega-col ul li a {
    display: block !important;
    padding: 6px 0 6px 20px !important;
    font-size: 13px !important;
    color: #3a3a3a !important;
    text-decoration: none !important;
    border-left: 2px solid transparent !important;
  }
  #ast-mobile-popup .pku-mega-col ul li a:hover,
  #ast-mobile-popup .pku-mega-col ul li a:active,
  .ast-mobile-popup-content .pku-mega-col ul li a:hover,
  .ast-mobile-popup-content .pku-mega-col ul li a:active {
    color: #2db34b !important;
    border-left-color: #2db34b !important;
  }
  #ast-mobile-popup .pku-mega-col__title,
  .ast-mobile-popup-content .pku-mega-col__title {
    font-size: 9px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    opacity: .5 !important;
    padding: 6px 0 2px 12px !important;
    color: #555 !important;
  }
}

/* ── 7. Nakładka wyszukiwania (bottom bar) ───────────────────────── */
#pku-search-overlay {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,.55);
  z-index: 999999;
  align-items: flex-start;
  justify-content: center;
  padding-top: 72px;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
#pku-search-overlay.pku-search-overlay--open {
  display: flex !important;
}
.pku-search-overlay__inner {
  background: #fff;
  border-radius: 14px;
  padding: 16px;
  margin: 0 16px;
  width: calc(100% - 32px);
  max-width: 480px;
  box-shadow: 0 8px 40px rgba(0,0,0,.25);
  position: relative;
}
.pku-search-overlay__inner form {
  display: flex;
  gap: 8px;
  align-items: center;
}
#pku-search-input {
  flex: 1 !important;
  border: 1.5px solid #ddd !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  font-size: 16px !important;
  outline: none !important;
  transition: border-color .15s !important;
  min-width: 0 !important;
}
#pku-search-input:focus {
  border-color: #2db34b !important;
}
.pku-search-overlay__submit {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 16px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
}
.pku-search-overlay__close {
  position: absolute !important;
  top: -12px !important;
  right: -12px !important;
  width: 28px !important;
  height: 28px !important;
  background: #333 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 50% !important;
  font-size: 14px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v7 — mega menu fix: ukryj oryginalne, pokaż injected   ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* Ukryj oryginalne mega menu CAŁKOWICIE na mobile (jest w headerze, nie w popup) */
@media (max-width: 920px) {
  .pku-mega-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    opacity: 0 !important;
  }
  /* Nawet z klasą open — nie pokazujemy oryginału */
  .pku-mega-menu.pku-mega-mobile-open {
    display: none !important;
  }
}

/* Styl dla wstrzykniętej listy kategorii w popup */
@media (max-width: 920px) {
  .pku-mobile-sub {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 0 6px !important;
    border-top: 1px solid rgba(255,255,255,.1) !important;
  }
  .pku-mobile-sub__title {
    font-size: 9px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    opacity: .5 !important;
    padding: 8px 20px 3px !important;
    color: #fff !important;
    display: block !important;
  }
  .pku-mobile-sub li {
    padding: 0 !important;
    margin: 0 !important;
  }
  .pku-mobile-sub li a {
    display: block !important;
    padding: 7px 0 7px 28px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #3a3a3a !important;
    text-decoration: none !important;
    border-left: 2px solid transparent !important;
    transition: color .15s, border-color .15s !important;
  }
  .pku-mobile-sub li a:active,
  .pku-mobile-sub li a:focus {
    color: #2db34b !important;
    border-left-color: #2db34b !important;
  }

  /* Strzałka przy Sklep w popup */
  .pku-popup-arrow {
    display: inline-block !important;
    margin-left: 6px !important;
    font-size: 10px !important;
    transition: transform .2s ease !important;
    vertical-align: middle !important;
    opacity: .7 !important;
  }
  .pku-popup-arrow.open {
    transform: rotate(180deg) !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v8 — mega menu fix                                     ║
   ╚══════════════════════════════════════════════════════════════════╝ */

@media (max-width: 920px) {

  /* ── Desktop nav: ukryj mega menu całkowicie ─────────────────── */
  #primary-site-navigation-desktop .pku-mega-menu,
  .main-header-bar-navigation .pku-mega-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* ── Popup: mega menu - domyślnie ukryte, position static ──────── */
  #ast-mobile-popup .pku-mega-menu {
    display: none !important;
    position: static !important;
    box-shadow: none !important;
    border: none !important;
    min-width: 0 !important;
    width: 100% !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 1 !important;          /* reset v7 opacity:0 */
    visibility: visible !important; /* reset v7 visibility:hidden */
    pointer-events: auto !important;
  }

  /* ── Popup: mega menu OTWARTE ──────────────────────────────────── */
  #ast-mobile-popup .pku-mega-menu.pku-mega-mobile-open {
    display: block !important;
    border-top: 1px solid rgba(0,0,0,.1) !important;
    padding: 4px 0 10px !important;
    margin-top: 4px !important;
    background: rgba(0,0,0,.04) !important;
    border-radius: 0 0 6px 6px !important;
  }

  /* ── Inner layout w popup ──────────────────────────────────────── */
  #ast-mobile-popup .pku-mega-menu__inner {
    flex-direction: column !important;
    gap: 0 !important;
    padding: 0 !important;
    display: flex !important;
  }
  #ast-mobile-popup .pku-mega-col {
    border: none !important;
    padding: 4px 14px !important;
  }
  #ast-mobile-popup .pku-mega-col__title {
    font-size: 9px !important;
    text-transform: uppercase !important;
    letter-spacing: 1.2px !important;
    opacity: .5 !important;
    padding: 6px 0 2px !important;
    color: #555 !important;
    display: block !important;
    font-weight: 600 !important;
  }
  #ast-mobile-popup .pku-mega-col ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #ast-mobile-popup .pku-mega-col ul li {
    padding: 0 !important;
  }
  #ast-mobile-popup .pku-mega-col ul li a {
    display: block !important;
    padding: 7px 0 7px 12px !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    color: #3a3a3a !important;
    text-decoration: none !important;
    border-left: 2px solid transparent !important;
    transition: color .15s, border-color .15s !important;
  }
  #ast-mobile-popup .pku-mega-col ul li a:hover,
  #ast-mobile-popup .pku-mega-col ul li a:active {
    color: #2db34b !important;
    border-left-color: #2db34b !important;
  }

  /* ── Strzałka przy Sklep ───────────────────────────────────────── */
  #ast-mobile-popup .pku-menu-arrow {
    display: inline-block !important;
    margin-left: 5px !important;
    font-size: 10px !important;
    transition: transform .2s ease !important;
    vertical-align: middle !important;
  }
  #ast-mobile-popup .pku-menu-arrow.pku-arrow-open {
    transform: rotate(180deg) !important;
  }

  /* ── Usuń .pku-popup-arrow (z v7) ─────────────────────────────── */
  .pku-popup-arrow {
    display: none !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v9 — mega menu popup: grid → block (lista prosta)      ║
   ╚══════════════════════════════════════════════════════════════════╝ */

@media (max-width: 920px) {

  /* Outer grid → block (kolumny jedna pod drugą) */
  #ast-mobile-popup .pku-mega-menu__inner {
    display: block !important;
    grid-template-columns: unset !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  /* Każda kolumna = pełna szerokość */
  #ast-mobile-popup .pku-mega-col {
    display: block !important;
    width: 100% !important;
    padding: 0 !important;
    border: none !important;
  }
  #ast-mobile-popup .pku-mega-col:first-child { padding-left: 0 !important; }
  #ast-mobile-popup .pku-mega-col:last-child  { padding-right: 0 !important; }

  /* Inner grid → block (linki jedna pod drugą) */
  #ast-mobile-popup .pku-mega-col ul {
    display: block !important;
    grid-template-columns: unset !important;
    column-gap: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }

  /* Linki: normalne zawijanie tekstu, większy padding dla wcięcia */
  #ast-mobile-popup .pku-mega-col ul li a {
    white-space: normal !important;
    padding: 7px 12px 7px 24px !important;
    font-size: 13px !important;
    color: #3a3a3a !important;
    font-weight: 400 !important;
  }

  /* Tytuł sekcji */
  #ast-mobile-popup .pku-mega-col__title {
    padding: 8px 12px 4px 14px !important;
    font-size: 9px !important;
    font-weight: 700 !important;
    letter-spacing: 1.2px !important;
    color: #888 !important;
    text-transform: uppercase !important;
    border-bottom: none !important;
    margin-bottom: 0 !important;
    display: block !important;
  }

  /* Pełna szerokość całego mega menu w popup */
  #ast-mobile-popup .pku-mega-menu,
  #ast-mobile-popup .pku-mega-menu.pku-mega-mobile-open {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    overflow: hidden !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v10 — mega menu: ukryj oryginał w popup (JS robi resztę)║
   ╚══════════════════════════════════════════════════════════════════╝ */
@media (max-width: 920px) {
  /* Ukryj oryginalne pku-mega-menu w popup — JS wstrzyknie prostą listę */
  #ast-mobile-popup .pku-mega-menu {
    display: none !important;
  }
  /* Strzałka przy Sklep */
  #ast-mobile-popup .pku-menu-arrow {
    display: inline-block !important;
    margin-left: 5px !important;
    transition: transform .2s !important;
    font-size: 10px !important;
  }
  /* Usuń dodatkową strzałkę z v7 */
  .pku-popup-arrow { display: none !important; }
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v11 — override hover rule (ten sam selektor, późniejszy) ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* Dokładnie ten sam selektor co oryginał → cascade order wygrywa */
@media (max-width: 920px) {
  .ast-builder-menu-1 .menu-item:hover .pku-mega-menu,
  .site-below-header-wrap .menu-item:hover .pku-mega-menu,
  .ast-builder-menu-1 .menu-item .pku-mega-menu,
  .site-below-header-wrap .menu-item .pku-mega-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v12 — ID selector (1,1,0) bije hover rule (0,4,0)      ║
   ╚══════════════════════════════════════════════════════════════════╝ */
@media (max-width: 920px) {
  /* ID selector zawsze wygrywa z class-based rules, nawet z :hover !important */
  #primary-site-navigation-desktop .pku-mega-menu,
  #primary-site-navigation-desktop .pku-mega-menu.pku-mega-mobile-open,
  #primary-site-navigation-mobile .pku-mega-menu,
  #primary-site-navigation-mobile .pku-mega-menu.pku-mega-mobile-open {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    opacity: 0 !important;
  }
}

/* DEBUG v13 — widoczny test CSS */
@media (max-width: 920px) {
  #primary-site-navigation-mobile #menu-item-5528 > a.menu-link {
    color: #ff3300 !important;
    font-weight: 900 !important;
  }
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v13fix — .menu-item-5528 (klasa, nie ID!)              ║
   ╚══════════════════════════════════════════════════════════════════╝ */
@media (max-width: 920px) {
  /* Test widoczny — klasa zamiast ID */
  #primary-site-navigation-mobile .menu-item-5528 > a.menu-link {
    color: #ff3300 !important;
    font-weight: 900 !important;
  }
  /* Hide mega menu — klasa zamiast ID */
  #primary-site-navigation-mobile .menu-item-5528 .pku-mega-menu,
  #primary-site-navigation-desktop .menu-item-5528 .pku-mega-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
}

/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v14 — native Astra sub-menu approach                   ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* Desktop: ukryj mobile sub-menu */
@media (min-width: 921px) {
  .pku-mobile-sub-menu { display: none !important; }
}

/* Mobile: ukryj mega menu (desktop only) */
@media (max-width: 920px) {
  .pku-mega-menu { display: none !important; }
  /* Astra zajmuje się .pku-mobile-sub-menu jako normalnym sub-menu */
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v15 — ukryj mobile-sub-menu + usuń debug               ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* Ukryj pku-mobile-sub-menu w popup i mobile nav
   (JS v10 buduje własny .pku-simple-sub z toggle) */
#ast-mobile-popup .pku-mobile-sub-menu,
#primary-site-navigation-mobile .pku-mobile-sub-menu {
  display: none !important;
}

/* Usuń debug — czerwony kolor Sklep (nadpisz oba selektory) */
@media (max-width: 920px) {
  #primary-site-navigation-mobile #menu-item-5528 > a.menu-link,
  #primary-site-navigation-mobile .menu-item-5528 > a.menu-link {
    color: inherit !important;
    font-weight: inherit !important;
  }
}

/* Ukryj debug box */
#pku-debug-box { display: none !important; }



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v15b — globalnie ukryj pku-mobile-sub-menu             ║
   ╚══════════════════════════════════════════════════════════════════╝ */
/* Ukryj zawsze — JS v10 buduje własny .pku-simple-sub */
.pku-mobile-sub-menu {
  display: none !important;
  visibility: hidden !important;
}



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  MOBILE v16 — nadpisz v8 CSS + ukryj mobile-sub               ║
   ╚══════════════════════════════════════════════════════════════════╝ */
@media (max-width: 920px) {
  /* Nadpisz v8 — dokładnie ten sam selektor, nowszy w pliku → wygrywa */
  #ast-mobile-popup .pku-mega-menu,
  #ast-mobile-popup .pku-mega-menu.pku-mega-mobile-open {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }
  /* Globalnie ukryj mobile-sub-menu */
  .pku-mobile-sub-menu {
    display: none !important;
    visibility: hidden !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_mobile_fixes — 5 poprawek                                        ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* ── 1. Grid 2-kol na mobile ≤540px (było: 1-kol) ─────────────────────────── */
@media (max-width: 540px) {
  .pku-view-grid ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  /* Mniejsze padding kart w 2-kol żeby nie pękały */
  .pku-view-grid ul.products li.product .astra-shop-summary-wrap {
    padding: 8px 8px 10px !important;
  }
  .pku-view-grid ul.products li.product .woocommerce-loop-product__title {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }
  .pku-view-grid ul.products li.product .price {
    font-size: 13px !important;
  }
  .pku-view-grid ul.products li.product .button {
    font-size: 11px !important;
    padding: 6px 4px !important;
  }
}

/* ── 2. FAB — ukryj koszyk i ulubione na mobile (jest w bottom bar) ──────── */
@media (max-width: 920px) {
  .pku-fab--cart,
  .pku-fab--wishlist {
    display: none !important;
  }
  /* Gdy tylko scroll-to-top zostaje, bez zbędnego gap */
  .pku-fab-wrap {
    gap: 0 !important;
  }
}

/* ── 3. Slider toggle — style dla nowych SVG ikon ───────────────────────── */
.pku-slider-toggle {
  display: inline-flex;
  gap: 3px;
  background: rgba(255,255,255,.08);
  border-radius: 8px;
  padding: 3px;
  margin-bottom: 8px;
}
.pku-slider-toggle__btn {
  background: none;
  border: none;
  border-radius: 5px;
  padding: 5px 7px;
  cursor: pointer;
  color: rgba(255,255,255,.45);
  line-height: 0;
  font-size: 0;
  transition: background .15s, color .15s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pku-slider-toggle__btn:hover {
  color: rgba(255,255,255,.75);
}
.pku-slider-toggle__btn.active {
  background: rgba(255,255,255,.15);
  color: #2db34b;
}
.pku-slider-toggle__btn svg {
  display: block;
  flex-shrink: 0;
}

/* ── 4. Wyniki wyszukiwania ──────────────────────────────────────────────── */
/* Tytuł sekcji */
.search .ast-archive-title,
.search .page-title {
  font-size: 22px !important;
  font-weight: 700 !important;
  color: #fff !important;
  margin-bottom: 24px !important;
}
/* Ramka "brak wyników" */
.no-results.not-found {
  background: #1a2a1a !important;
  border: 1.5px solid rgba(255,255,255,.1) !important;
  border-radius: 14px !important;
  padding: 40px 32px !important;
  text-align: center !important;
  max-width: 560px !important;
  margin: 0 auto 40px !important;
}
.no-results.not-found .page-header {
  display: none !important; /* ukryj duplikat tytułu w sekcji not-found */
}
.no-results.not-found .page-content p {
  font-size: 15px !important;
  color: rgba(255,255,255,.65) !important;
  margin-bottom: 24px !important;
  line-height: 1.6 !important;
}
/* Formularz wyszukiwania w bloku not-found */
.no-results .search-form {
  display: flex !important;
  gap: 8px !important;
  max-width: 420px !important;
  margin: 0 auto !important;
}
.no-results .search-form .search-field {
  flex: 1 !important;
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.2) !important;
  border-radius: 8px !important;
  padding: 10px 14px !important;
  color: #fff !important;
  font-size: 14px !important;
  outline: none !important;
}
.no-results .search-form .search-field:focus {
  border-color: #2db34b !important;
}
.no-results .search-form .search-submit {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 8px !important;
  padding: 10px 18px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
}
/* Wyniki wyszukiwania gdy jest treść */
.search-results .site-main .entry-title a {
  color: #2db34b !important;
}
@media (max-width: 600px) {
  .no-results.not-found {
    padding: 28px 20px !important;
  }
  .no-results .search-form {
    flex-direction: column !important;
  }
}

/* ── 5. Koszyk mobile — ukryj kolumnę "Cena" (duplikat Kwoty gdy ilość=1) ── */
@media (max-width: 768px) {
  /* Ukryj nagłówek i komórki Cena w tabeli koszyka */
  .woocommerce-cart table.shop_table thead th.product-price,
  .woocommerce-cart table.shop_table td.product-price {
    display: none !important;
  }
  /* Kompaktowe wiersze */
  .woocommerce-cart table.shop_table td {
    padding: 10px 12px !important;
  }
  /* Miniatura mniejsza na mobile */
  .woocommerce-cart table.shop_table .product-thumbnail img {
    width: 56px !important;
    height: 56px !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_fixes_v2                                                         ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* ── 1. Grid 2-kol ≤480px — selektor o tej samej specyficzności co buggy reguła
        (0,3,2) = body.class .class ul.class — jest PÓŹNIEJ w pliku → wygrywa ── */
@media (max-width: 480px) {
  body.pku-has-shop .pku-view-grid ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}

/* ── 3. Search results page — ładniejszy wygląd ────────────────────────── */

/* Sekcja nagłówka wyszukiwania */
.search .ast-archive-description,
.search .ast-archive-entry-banner .ast-container {
  padding: 24px 0 20px !important;
}
.search .page-title.ast-archive-title {
  font-size: clamp(18px, 5vw, 28px) !important;
  font-weight: 700 !important;
  margin-bottom: 0 !important;
}
.search .page-title.ast-archive-title span {
  color: #2db34b !important;
}

/* Sekcja "brak wyników" — kompaktowy, ciemny kafelek */
.no-results.not-found {
  background: rgba(255,255,255,.04) !important;
  border: 1.5px solid rgba(255,255,255,.1) !important;
  border-radius: 16px !important;
  padding: 36px 28px !important;
  text-align: center !important;
  max-width: 520px !important;
  margin: 24px auto 40px !important;
}
.no-results.not-found .page-header { display: none !important; }
.no-results.not-found .page-content > p {
  font-size: 15px !important;
  color: rgba(255,255,255,.6) !important;
  margin-bottom: 22px !important;
  line-height: 1.6 !important;
}

/* Formularz w bloku brak-wyników */
.no-results .search-form {
  display: flex !important;
  gap: 8px !important;
  max-width: 400px !important;
  margin: 0 auto !important;
}
.no-results .search-form label { display: none !important; }
.no-results .search-form .search-field {
  flex: 1 1 0 !important;
  background: rgba(255,255,255,.07) !important;
  border: 1.5px solid rgba(255,255,255,.18) !important;
  border-radius: 10px !important;
  padding: 11px 14px !important;
  color: #fff !important;
  font-size: 14px !important;
  font-family: inherit !important;
  outline: none !important;
  transition: border-color .2s !important;
}
.no-results .search-form .search-field::placeholder { color: rgba(255,255,255,.35) !important; }
.no-results .search-form .search-field:focus { border-color: #2db34b !important; }
.no-results .search-form .search-submit {
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 11px 20px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  font-family: inherit !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  transition: background .2s !important;
}
.no-results .search-form .search-submit:hover { background: #239e3e !important; }

/* Wyniki wyszukiwania gdy są posty — karty */
.search-results .site-main article {
  background: rgba(255,255,255,.05) !important;
  border: 1.5px solid rgba(255,255,255,.09) !important;
  border-radius: 12px !important;
  padding: 18px 20px !important;
  margin-bottom: 14px !important;
}
.search-results .site-main .entry-title {
  font-size: 17px !important;
  margin-bottom: 6px !important;
}
.search-results .site-main .entry-title a {
  color: #2db34b !important;
  text-decoration: none !important;
}
.search-results .site-main .entry-summary {
  font-size: 14px !important;
  color: rgba(255,255,255,.6) !important;
  line-height: 1.6 !important;
}

@media (max-width: 540px) {
  .no-results .search-form { flex-direction: column !important; }
  .no-results.not-found { padding: 24px 18px !important; }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_grid_fix — 2-kol dla pku-cards-grid w widoku grid              ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* Gdy włączony widok siatki (.pku-view-grid): 2 kolumny na mobile.
   Specyficzność (0,2,0) > (0,1,0) buggy reguły w ≤540px → wygrywa */
@media (max-width: 700px) {
  .pku-view-grid .pku-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
}

/* Widok listy pozostaje 1-kol (bez zmian — pku-view-list ustawia pku-cards-list) */



/* ╔══════════════════════════════════════════════════════════════════╗
   ║  patch_fab_landscape — FAB cart+wish w trybie poziomym telefonu ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* Landscape mobile (769-920px): bottom bar niewidoczny → pokaż FAB */
@media (min-width: 769px) and (max-width: 920px) {
  .pku-fab--cart,
  .pku-fab--wishlist {
    display: flex !important;
  }
  /* Przywróć gap między przyciskami */
  .pku-fab-wrap {
    gap: 8px !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_landscape_account — przycisk Konto w nagłówku mobilnym landscape ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* Domyślnie ukryty — pokazywany tylko w 769-920px */
.pku-mob-account-btn {
  display: none !important;
}
@media (min-width: 769px) and (max-width: 920px) {
  .pku-mob-account-btn {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    text-decoration: none !important;
    color: #1a1a1a !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    padding: 6px 12px !important;
    border: 1.5px solid #ddd !important;
    border-radius: 8px !important;
    white-space: nowrap !important;
  line-height: 1.3 !important;
    line-height: 1 !important;
    margin-right: 8px !important;
    background: #fff !important;
  }
  .pku-mob-account-btn:hover {
    border-color: #2db34b !important;
    color: #2db34b !important;
    text-decoration: none !important;
  }
  .pku-mob-account-btn svg {
    width: 16px !important;
    height: 16px !important;
    stroke: currentColor !important;
    fill: none !important;
    stroke-width: 1.8 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
    flex-shrink: 0 !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_landscape_account_v2 — pku-account-btn obok koszyka (769-920px) ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* Ukryj v1 */
.pku-mob-account-btn { display: none !important; }

/* Wstrzyknięty pku-account-btn w mobile header — widoczny tylko 769-920px */
#ast-mobile-header .pku-account-btn {
  display: none !important;
}
@media (min-width: 769px) and (max-width: 920px) {
  #ast-mobile-header .pku-account-btn {
    display: inline-flex !important;
    order: 2 !important;
    margin-right: 6px !important;
  }
  /* Upewnij się że right section to flexbox z właściwym alignem */
  #ast-mobile-header .site-header-primary-section-right {
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_landscape_order_fix — Konto po lewej Koszyka w landscape         ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */
@media (min-width: 769px) and (max-width: 920px) {
  /* account btn: między logo(2) a koszykiem → order:3 */
  #ast-mobile-header .pku-account-btn {
    order: 3 !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    margin-right: 4px !important;
  }
  /* Koszyk przesuń na order:4 */
  #ast-mobile-header .ast-header-woo-cart {
    order: 4 !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_landscape_layout_fix — przywróć display:contents 769-920px       ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */
@media (min-width: 769px) and (max-width: 920px) {
  /* Przywróć display:contents (nadpisuje błędne display:flex z v2) */
  #ast-mobile-header .site-header-primary-section-right {
    display: contents !important;
  }
  /* Konto: po logo (order:2), przed koszykiem */
  #ast-mobile-header .pku-account-btn {
    order: 3 !important;
    display: inline-flex !important;
    flex-shrink: 0 !important;
    margin-right: 2px !important;
  }
  /* Koszyk: ostatni */
  #ast-mobile-header .ast-header-woo-cart {
    order: 4 !important;
    flex-shrink: 0 !important;
  }
  /* Hamburger pozostaje order:1 (z mobile-v3) */
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_slider_landscape_3col — 3 kolumny slidera w landscape (769-920px) ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */
@media (min-width: 769px) and (max-width: 920px) {
  .pku-slider.pku-slider--3col {
    grid-template-columns: 1fr 1fr 1fr !important;
    gap: 10px !important;
  }
  .pku-slider.pku-slider--3col > *:nth-child(n+4) {
    display: none !important;
  }
  /* Odkryj 2. i 3. produkt gdy 3-col (mogą być ukryte przez ≤480px regułę) */
  .pku-slider.pku-slider--3col > *:nth-child(2),
  .pku-slider.pku-slider--3col > *:nth-child(3) {
    display: block !important;
  }
  /* 2-col w landscape: odkryj 2. */
  .pku-slider.pku-slider--2col > *:nth-child(2) {
    display: block !important;
  }
  .pku-slider.pku-slider--2col > *:nth-child(n+3) {
    display: none !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  mobile_menu_v17 — czysty accordion Sklep                               ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */
@media (max-width: 920px) {

  /* Mega menu zawsze ukryte w popup */
  #ast-mobile-popup .pku-mega-menu,
  #ast-mobile-popup .pku-mega-menu.pku-mega-mobile-open {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  /* Sub-menu pokazywane tylko gdy li ma klasę pku-acc-open */
  /* Specyficzność (1,2,1) — bije globalne .pku-mobile-sub-menu (0,1,0) */
  #ast-mobile-popup li.pku-acc-open > ul.pku-mobile-sub-menu {
    display: block !important;
    visibility: visible !important;
  }

  /* Styl listy */
  #ast-mobile-popup ul.pku-mobile-sub-menu {
    list-style: none !important;
    padding: 0 0 0 16px !important;
    margin: 4px 0 8px !important;
    border-left: 2px solid rgba(0,0,0,.1) !important;
  }
  #ast-mobile-popup ul.pku-mobile-sub-menu li a {
    display: block !important;
    padding: 7px 12px !important;
    font-size: 13px !important;
    color: #3a3a3a !important;
    text-decoration: none !important;
  }
  #ast-mobile-popup ul.pku-mobile-sub-menu li a:hover {
    color: #2db34b !important;
  }

  /* Strzałka accordion */
  #ast-mobile-popup .pku-acc-arrow {
    display: inline-block;
    margin-left: 6px;
    font-size: 10px;
    transition: transform .2s;
    line-height: 1;
  }
  #ast-mobile-popup li.pku-acc-open .pku-acc-arrow {
    transform: rotate(180deg);
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  menu_v17b — fix layout sub-menu obok Sklep                             ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */
@media (max-width: 920px) {

  /* ── Mega menu: zawsze ukryte w popup ── */
  #ast-mobile-popup .pku-mega-menu {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
    position: absolute !important;
    opacity: 0 !important;
  }

  /* ── pku-mobile-sub-menu: ukryta domyślnie (bez klasy sub-menu) ── */
  #ast-mobile-popup .pku-mobile-sub-menu {
    display: none !important;
    visibility: hidden !important;
  }

  /* ── <li> Sklep: flex-wrap żeby sub-menu szło pod linkiem ── */
  #ast-mobile-popup li.menu-item:has(> .pku-mobile-sub-menu) {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
  }
  #ast-mobile-popup li.menu-item:has(> .pku-mobile-sub-menu) > a.menu-link {
    flex: 1 1 100% !important;
    width: 100% !important;
  }

  /* ── Pokaż sub-menu gdy li.pku-acc-open ── */
  #ast-mobile-popup li.pku-acc-open > .pku-mobile-sub-menu {
    display: block !important;
    visibility: visible !important;
    flex: 0 0 100% !important;
    width: 100% !important;
  }

  /* ── Styl listy sub-menu ── */
  #ast-mobile-popup .pku-mobile-sub-menu {
    list-style: none !important;
    padding: 0 0 8px 20px !important;
    margin: 0 !important;
    border-left: 2px solid rgba(0,0,0,.1) !important;
    margin-left: 16px !important;
  }
  #ast-mobile-popup .pku-mobile-sub-menu li a {
    display: block !important;
    padding: 8px 12px !important;
    font-size: 13px !important;
    color: #3a3a3a !important;
    text-decoration: none !important;
    border-bottom: 1px solid rgba(0,0,0,.06) !important;
  }
  #ast-mobile-popup .pku-mobile-sub-menu li a:hover {
    color: #2db34b !important;
  }
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_popup_scroll — blokuj scroll strony gdy popup otwarty            ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */

/* Blokuj scroll body gdy menu otwarte (Astra dodaje tę klasę) */
body.ast-popup-nav-open {
  overflow: hidden !important;
  touch-action: none !important;   /* blokuje też touch-scroll */
}

/* Popup inner — scrollowalny, pełna wysokość ekranu */
#ast-mobile-popup .ast-mobile-popup-inner {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: 100dvh !important;    /* dvh = dynamic viewport height (uwzględnia pasek URL) */
  max-height: 100vh !important;     /* fallback dla starszych */
  -webkit-overflow-scrolling: touch !important;  /* płynny scroll iOS */
  overscroll-behavior: contain !important;       /* zapobiega scroll-chain */
}

/* Overlay NIE scrolluje */
#ast-mobile-popup .ast-mobile-popup-overlay {
  touch-action: none !important;
}



/* ╔══════════════════════════════════════════════════════════════════════════╗
   ║  patch_menu_sections — nagłówki sekcji w mobile sub-menu                 ║
   ╚══════════════════════════════════════════════════════════════════════════╝ */
@media (max-width: 920px) {

  /* Nagłówek sekcji (Kategorie produktów / Marki) */
  #ast-mobile-popup .pku-mobile-sub-menu .pku-mobile-sub-header {
    list-style: none !important;
    padding: 10px 12px 4px 12px !important;
    margin: 0 !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    color: #888 !important;
    border-bottom: 1px solid rgba(255,255,255,.12) !important;
    pointer-events: none !important;
    cursor: default !important;
  }

  /* Pierwszy nagłówek — mniej górnego paddingu */
  #ast-mobile-popup .pku-mobile-sub-menu .pku-mobile-sub-header:first-child {
    padding-top: 4px !important;
  }
}



/* ── PKU Hero Slider: full-width breakout fix ─────────────────── */
/* NIE dodawaj overflow-x: clip na intermediate containers — to przycina slider!
   Zamiast tego clip tylko na poziomie html/body (viewport) */
html, body { overflow-x: clip; }


/* ═══════════════════════════════════════════════════════════════════
   SLIDER MOBILE: minimalna nakładka — widoczne zdjęcie tła
   Zastępuje: background: rgba(255,255,255,0.78) + blur
   ═══════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {

  /* Slajd z tłem — wyższy na mobile, obraz centrowany */
  .pku-hs-slide--fullbg {
    min-height: 320px !important;
    background-position: center center !important;
    align-items: flex-end !important; /* tekst przy dole — obraz widoczny na górze */
  }

  /* Nakładka: gradient od dołu zamiast białego bloku */
  .pku-hs-overlay {
    width: 100% !important;
    min-width: unset !important;
    padding: 18px 20px 26px !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    /* Ciemny gradient od dołu — górna część slajdu zostaje przezroczysta */
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.70) 0%,
      rgba(0, 0, 0, 0.35) 55%,
      transparent 100%
    ) !important;
  }

  /* Tekst: biały na ciemnym gradiencie */
  .pku-hs-slide--fullbg .pku-hs-tag {
    background: rgba(255,255,255,0.18) !important;
    color: #fff !important;
    border: 1px solid rgba(255,255,255,0.35) !important;
  }
  .pku-hs-slide--fullbg .pku-hs-title {
    color: #ffffff !important;
    text-shadow: 0 2px 8px rgba(0,0,0,0.40);
    font-size: 24px !important;
    line-height: 1.25 !important;
  }
  .pku-hs-slide--fullbg .pku-hs-desc {
    color: rgba(255,255,255,0.90) !important;
    text-shadow: 0 1px 4px rgba(0,0,0,0.40);
    font-size: 13px !important;
    margin-top: 2px !important;
  }
  .pku-hs-slide--fullbg .pku-hs-btn {
    background: #fff !important;
    color: #2B6B30 !important;
    font-weight: 700 !important;
    margin-top: 4px !important;
  }
  .pku-hs-slide--fullbg .pku-hs-btn:hover {
    background: #e8f5e9 !important;
  }

  /* Strzałki bliżej krawędzi na telefonie */
  .pku-hs-prev { left: 8px !important; }
  .pku-hs-next { right: 8px !important; }

  /* Kropki nawigacji — widoczne na ciemnym tle */
  .pku-hs-dot { background: rgba(255,255,255,0.40) !important; }
  .pku-hs-dot-active, .pku-hs-dot:hover { background: #fff !important; }
}


/* ── Przycisk ghost na slajdach z tłem (fullbg) — biały tekst zamiast zielonego ── */
.pku-hs-slide--fullbg .pku-hs-btn--ghost {
  border-color: rgba(255,255,255,0.80) !important;
  color: #fff !important;
}
.pku-hs-slide--fullbg .pku-hs-btn--ghost:hover {
  background: rgba(255,255,255,0.15) !important;
  border-color: #fff !important;
}

/* ── Hamburger mobilny: bez tła, zielone paski ── */
[data-section='section-header-mobile-trigger'] .ast-button-wrap .ast-mobile-menu-trigger-fill {
    background: none !important;
    box-shadow: none !important;
    color: #2db34b !important;
    padding: 2px !important;
    width: auto !important;
    height: auto !important;
}
[data-section='section-header-mobile-trigger'] .ast-button-wrap .ast-mobile-menu-trigger-fill .ast-menu-svg {
    width: 30px !important;
    height: 30px !important;
}

/* Selektor języka w nagłówku (gdy brak tickera) */
#pku-lang-header-float { margin-left: 12px; align-items: center; }
#pku-lang-header-float .pku-lang-current {
    color: var(--ast-global-color-0, #444);
    border-color: rgba(0,0,0,.15);
    background: transparent;
    font-size: 13px;
    padding: 4px 10px;
}
#pku-lang-header-float .pku-lang-current:hover {
    background: rgba(45,179,75,.08);
    border-color: var(--gm-green);
    color: var(--gm-green);
}
#pku-lang-header-float .pku-lang-list {
    right: 0;
    top: calc(100% + 8px);
}
@media (max-width: 921px) {
    #pku-lang-header-float { display: none !important; }
}



/* ============================================================
   OPINIE O PRODUKTACH
   ============================================================ */

/* --- Lista opinii --- */
.pku-reviews__list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 28px;
}

.pku-review {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 16px 20px;
}

.pku-review__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    flex-wrap: wrap;
}

.pku-review__author-block {
    display: flex;
    align-items: center;
    gap: 10px;
}

.pku-review__avatar {
    border-radius: 50%;
    width: 36px !important;
    height: 36px !important;
}

.pku-review__author {
    display: block;
    font-size: 0.9rem;
    color: #111827;
}

.pku-review__verified {
    display: block;
    font-size: 0.72rem;
    color: #16a34a;
    font-weight: 500;
    margin-top: 2px;
}

.pku-review__meta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
}

.pku-review__stars {
    line-height: 1;
}

.pku-star {
    font-size: 1.1rem;
    color: #d1d5db;
}

.pku-star--full {
    color: #f59e0b;
}

.pku-review__date {
    font-size: 0.75rem;
    color: #9ca3af;
}

.pku-review__body {
    font-size: 0.88rem;
    color: #374151;
    line-height: 1.6;
}

.pku-review__body p:last-child {
    margin-bottom: 0;
}

.pku-reviews__empty {
    color: #6b7280;
    font-style: italic;
    padding: 8px 0 20px;
    font-size: 0.9rem;
}

/* --- Formularz --- */
.pku-review-form-wrap {
    border-top: 1px solid #e5e7eb;
    padding-top: 24px;
    margin-top: 8px;
}

.pku-review-form__title {
    font-size: 1rem;
    font-weight: 600;
    color: #111827;
    margin: 0 0 16px;
}

.pku-review-form__notice {
    background: #f0fdf4;
    border: 1px solid #bbf7d0;
    border-radius: 8px;
    padding: 12px 16px;
    font-size: 0.875rem;
    color: #166534;
    margin: 0 0 8px;
}

.pku-review-form__notice--done {
    background: #f0fdf4;
    border-color: #86efac;
}

.pku-review-form__notice a {
    color: #15803d;
    font-weight: 600;
    text-decoration: underline;
}

.pku-review-form__label {
    display: block;
    font-size: 0.85rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 6px;
}

.pku-review-form__label .required {
    color: #dc2626;
}

.pku-review-form__rating-wrap,
.pku-review-form__text-wrap {
    margin-bottom: 16px;
}

/* Gwiazdki wyboru */
.pku-star-select {
    display: flex;
    gap: 4px;
    cursor: pointer;
}

.pku-star-pick {
    font-size: 1.8rem;
    color: #d1d5db;
    transition: color 0.1s;
    cursor: pointer;
    user-select: none;
}

.pku-star-pick:hover,
.pku-star-pick.active {
    color: #f59e0b;
}

.pku-review-form__textarea {
    width: 100%;
    border: 1px solid #d1d5db;
    border-radius: 8px;
    padding: 10px 14px;
    font-size: 0.875rem;
    color: #111827;
    resize: vertical;
    font-family: inherit;
    transition: border-color 0.2s;
    box-sizing: border-box;
}

.pku-review-form__textarea:focus {
    outline: none;
    border-color: #2db34b;
    box-shadow: 0 0 0 3px rgba(45,179,75,0.15);
}

.pku-review-form__submit-row {
    margin: 0;
}

.pku-review-form__submit {
    background: #2db34b !important;
    color: #fff !important;
    border: none !important;
    padding: 10px 24px !important;
    border-radius: 8px !important;
    font-size: 0.9rem !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: background 0.2s !important;
}

.pku-review-form__submit:hover {
    background: #25a041 !important;
}

/* Ukryj domyślne WC pola formularza komentarza gdy render nasz własny */
#pku-review-form .comment-form-author,
#pku-review-form .comment-form-email,
#pku-review-form .comment-form-url,
#pku-review-form p.comment-notes {
    display: none !important;
}

@media (max-width: 600px) {
    .pku-review__header {
        flex-direction: column;
    }
    .pku-review__meta {
        align-items: flex-start;
        flex-direction: row;
        gap: 10px;
    }
}

/* ============================================================
   WISHLIST PAGE — layout fix (tabela wyśrodkowana, padding)
   ============================================================ */

/* Wrapper strony ulubionych */
.page-id-5576 .entry-content,
.pku-wishlist-page {
    max-width: 900px;
    width: 100% !important;
    display: block !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 16px;
    box-sizing: border-box;
}
/* Astra dokłada padding 32px x2 na .content-area i .site-main niezaleznie —
   na mobile to 128px zjedzone z 390px viewportu, tabela ledwo widoczna (2026-07-16) */
@media (max-width: 640px) {
  .page-id-5576 .content-area.primary,
  .page-id-5576 .site-main {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/* tinv-wishlist wewnatrz entry-content tez wycentruj */
.page-id-5576 .entry-content .tinv-wishlist {
    max-width: 900px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
}

/* Naglowek strony — wycentruj */
.page-id-5576 .entry-header {
    max-width: 900px;
    margin: 0 auto 8px;
    padding: 0 16px;
}

/* Tabela — pełna szerokość wrappera */
.pku-wishlist-page .pku-wishlist-table {
    width: 100%;
    margin-top: 8px;
}

/* Formularz — pełna szerokość */
.pku-wishlist-page form {
    width: 100%;
}

/* Przycisk koszyka w tabeli ulubionych */
.pku-wl-cart-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #2db34b;
    color: #fff;
    border: none;
    cursor: pointer;
    transition: background .15s, transform .1s;
}
.pku-wl-cart-btn:hover {
    background: #1b5e20;
    transform: scale(1.08);
}
.pku-wl-cart-btn:active {
    transform: scale(0.95);
}

@media (max-width: 600px) {
    .page-id-5576 .entry-content,
    .pku-wishlist-page {
        padding: 0 8px;
    }
}

/* =====================================================
   Cart drawer — przesuń poniżej topbara + headera
   Astra ustawia top:0 i height:100% w dynamic CSS;
   nadpisujemy zmienną --pku-header-h (ustawianą przez JS)
   ===================================================== */
.astra-cart-drawer {
  top: var(--pku-topbar-h, 0px) !important;
  height: calc(100vh - var(--pku-topbar-h, 0px)) !important;
  max-height: calc(100vh - var(--pku-topbar-h, 0px)) !important;
}

/* ══════════════════════════════════════════════════════
   LIVE SEARCH DROPDOWN
══════════════════════════════════════════════════════ */
.ast-header-search .search-form {
  position: relative !important;
}

.pku-search-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  left: 0;
  right: 0;
  min-width: 360px;
  background: #fff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  box-shadow: 0 8px 32px rgba(0,0,0,.13);
  z-index: 99999;
  overflow: hidden;
}

.pku-search-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 14px;
  text-decoration: none;
  color: #111;
  border-bottom: 1px solid #f3f3f3;
  transition: background .12s;
}
.pku-search-item:last-of-type { border-bottom: none; }
.pku-search-item:hover,
.pku-search-item--active { background: #f5faf5; }

.pku-search-item img {
  width: 48px;
  height: 48px;
  object-fit: contain;
  border-radius: 6px;
  border: 1px solid #eee;
  flex-shrink: 0;
}

.pku-search-item__info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.pku-search-item__title {
  font-size: .9rem;
  font-weight: 600;
  color: #111;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pku-search-item__meta {
  font-size: .78rem;
  color: #888;
}

.pku-search-item__meta .woocommerce-Price-amount {
  color: #2e7d32;
  font-weight: 700;
}

.pku-search-all {
  display: block;
  padding: 10px 14px;
  text-align: center;
  font-size: .85rem;
  font-weight: 600;
  color: #2e7d32;
  background: #f9f9f9;
  text-decoration: none;
  border-top: 1px solid #eee;
  transition: background .12s;
}
.pku-search-all:hover { background: #f0faf0; }

.pku-search-empty {
  padding: 16px 14px;
  font-size: .9rem;
  color: #888;
  text-align: center;
}

/* ══════════════════════════════════════════════════════
   OUT-OF-STOCK KARTY PRODUKTÓW
══════════════════════════════════════════════════════ */
.pku-product-card--outofstock .pku-card-img img {
  opacity: .45;
  filter: grayscale(30%);
  transition: opacity .2s;
}
.pku-product-card--outofstock:hover .pku-card-img img {
  opacity: .6;
}
.pku-product-card--outofstock .pku-card-img::after {
  content: 'Brak w magazynie';
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(0,0,0,.55);
  color: #fff;
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .04em;
  padding: 3px 10px;
  border-radius: 20px;
  white-space: nowrap;
  pointer-events: none;
}
.pku-product-card--outofstock .pku-card-img {
  position: relative;
}

/* Przycisk Powiadom mnie */
.pku-btn-notify {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  justify-content: center;
  padding: 9px 16px;
  background: #f57c00;
  color: #fff !important;
  border: none;
  border-radius: 6px;
  font-size: .88rem;
  font-weight: 600;
  cursor: pointer;
  transition: background .15s, transform .1s;
}
.pku-btn-notify:hover {
  background: #e65100;
  transform: translateY(-1px);
}
.pku-btn-notify:active {
  transform: translateY(1px);
}
/* Produkt juz na liscie obserwowanych — widac to bez klikania, przegladajac strony */
.pku-btn-notify.pku-btn-notify--done {
  background: #eef7ee;
  color: #2e7d32 !important;
  cursor: default;
  transform: none;
}
.pku-btn-notify.pku-btn-notify--done:hover { background: #eef7ee; transform: none; }

/* Modal Powiadom mnie */
.pku-notify-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.45);
  z-index: 99998;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  animation: pku-fade-in .15s ease;
}
@keyframes pku-fade-in { from { opacity: 0 } to { opacity: 1 } }

.pku-notify-modal {
  background: #fff;
  border-radius: 14px;
  padding: 28px 28px 24px;
  max-width: 400px;
  width: 100%;
  box-shadow: 0 12px 48px rgba(0,0,0,.18);
  position: relative;
  animation: pku-slide-up .18s ease;
}
@keyframes pku-slide-up { from { transform: translateY(16px); opacity: 0 } to { transform: none; opacity: 1 } }

.pku-notify-modal__close {
  position: absolute;
  top: 12px;
  right: 14px;
  background: none;
  border: none;
  font-size: 20px;
  color: #999;
  cursor: pointer;
  line-height: 1;
  padding: 4px;
}
.pku-notify-modal__close:hover { color: #333; }
.pku-notify-modal h3 {
  margin: 0 0 6px;
  font-size: 1.1rem;
  color: #111;
}
.pku-notify-modal p {
  margin: 0 0 16px;
  font-size: .88rem;
  color: #666;
  line-height: 1.5;
}
.pku-notify-modal input[type=email] {
  width: 100%;
  padding: 10px 14px;
  border: 1px solid #ddd;
  border-radius: 7px;
  font-size: .95rem;
  margin-bottom: 10px;
  box-sizing: border-box;
}
.pku-notify-modal input[type=email]:focus {
  outline: none;
  border-color: #f57c00;
  box-shadow: 0 0 0 3px rgba(245,124,0,.12);
}
.pku-notify-modal__submit {
  width: 100%;
  padding: 11px;
  background: #f57c00;
  color: #fff;
  border: none;
  border-radius: 7px;
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  transition: background .15s;
}
.pku-notify-modal__submit:hover { background: #e65100; }
.pku-notify-modal__submit:disabled { opacity: .7; cursor: default; }
.pku-notify-modal__change-email {
  width: 100%;
  padding: 10px;
  margin-top: 8px;
  background: none;
  color: #666;
  border: 1px solid #ddd;
  border-radius: 7px;
  font-size: .88rem;
  cursor: pointer;
  transition: background .15s;
}
.pku-notify-modal__change-email:hover { background: #f7f7f7; }
.pku-notify-modal__msg {
  margin-top: 10px;
  font-size: .85rem;
  text-align: center;
  min-height: 20px;
}
.pku-notify-modal__msg--ok  { color: #2e7d32; }
.pku-notify-modal__msg--err { color: #c62828; }


/* ═══════════════════════════════════════════════
   LOST PASSWORD PAGE — /my-account-2/lost-password/
   ═══════════════════════════════════════════════ */

/* Karta jak na stronie logowania */
.woocommerce-account .woocommerce-ResetPassword {
  max-width: 460px;
  margin: 40px auto !important;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 4px 24px rgba(0,0,0,0.09);
  padding: 36px 40px 40px !important;
}

/* Nagłówek strony */
.woocommerce-account .entry-title {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 0;
  color: #222;
}

/* Opis na górze formularza */
.woocommerce-ResetPassword > p:first-of-type {
  color: #666;
  font-size: 14px;
  line-height: 1.6;
  margin-bottom: 22px;
  text-align: center;
}

/* Label */
.woocommerce-ResetPassword label {
  display: block;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 6px;
  color: #333;
}

/* Input */
.woocommerce-ResetPassword .woocommerce-Input--text {
  display: block;
  width: 100%;
  padding: 11px 14px;
  border: 1.5px solid #ddd;
  border-radius: 7px;
  font-size: 15px;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.woocommerce-ResetPassword .woocommerce-Input--text:focus {
  border-color: #2db34b;
  outline: none;
  box-shadow: 0 0 0 3px rgba(45,179,75,0.12);
}

/* Form row — bez floatów */
.woocommerce-ResetPassword .woocommerce-form-row {
  float: none !important;
  width: 100% !important;
  margin-bottom: 18px !important;
  padding: 0 !important;
}

/* Przycisk */
.woocommerce-ResetPassword .woocommerce-Button {
  display: block;
  width: 100%;
  padding: 13px !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  background: #2db34b !important;
  color: #fff !important;
  border: none !important;
  border-radius: 7px !important;
  cursor: pointer !important;
  transition: background 0.2s !important;
}
.woocommerce-ResetPassword .woocommerce-Button:hover {
  background: #229a3e !important;
}

/* Link powrotu do logowania */
.woocommerce-account .woocommerce-ResetPassword + p,
.woocommerce-account p.lost_password {
  text-align: center;
  margin-top: 18px;
  font-size: 14px;
  color: #666;
}
.woocommerce-account .woocommerce-ResetPassword + p a,
.woocommerce-account p.lost_password a {
  color: #2db34b;
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-account .woocommerce-ResetPassword + p a:hover,
.woocommerce-account p.lost_password a:hover {
  text-decoration: underline;
}

/* ── Inline lost-password wewnątrz pku-login-wrap (gdy WC pokazuje na tej samej stronie) ── */
.pku-auth-panels .woocommerce-ResetPassword,
.pku-login-wrap .woocommerce-ResetPassword {
  max-width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.pku-login-wrap .woocommerce-ResetPassword .woocommerce-form-row {
  float: none !important;
  width: 100% !important;
}
.pku-login-wrap .woocommerce-ResetPassword .woocommerce-Button {
  width: 100% !important;
}

/* ── Fix "rozjeżdża się" — link Nie pamiętasz hasła na stronie logowania ── */
.pku-auth-panels .woocommerce-LostPassword {
  clear: both;
  overflow: hidden;
  width: 100%;
}

/* "Wróć do logowania" link na osobnej stronie lost-password */
.woocommerce-account.lost-password .woocommerce {
  max-width: 460px;
  margin: 0 auto;
}

@media (max-width: 600px) {
  .woocommerce-account .woocommerce-ResetPassword {
    margin: 20px 12px !important;
    padding: 28px 22px 32px !important;
  }
}

/* ── Dodatkowe style dla strony reset hasła (body.woocommerce-lost-password) ── */
.woocommerce-lost-password .entry-content {
  padding-bottom: 40px;
}
/* Ukryj domyślny tytuł strony — zastępujemy nagłówkiem karty */
.woocommerce-lost-password .entry-title {
  display: none !important;
}
/* Nagłówek nad formularzem */
.woocommerce-lost-password .woocommerce-ResetPassword::before {
  content: '🔑 Przypomnij hasło';
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #222;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
/* Notices (np. Email wysłany) */
.woocommerce-lost-password .woocommerce-notices-wrapper {
  max-width: 460px;
  margin: 0 auto 16px;
}
.woocommerce-lost-password .woocommerce-message {
  border-top-color: #2db34b !important;
  background: #f0faf2 !important;
}

/* ── Dodatkowe style dla strony reset hasła (body.woocommerce-lost-password) ── */
.woocommerce-lost-password .entry-content {
  padding-bottom: 40px;
}
.woocommerce-lost-password .entry-title {
  display: none !important;
}
.woocommerce-lost-password .woocommerce-ResetPassword::before {
  content: '\1F511 Przypomnij hasło';
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #222;
  text-align: center;
  margin-bottom: 20px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.woocommerce-lost-password .woocommerce-notices-wrapper {
  max-width: 460px;
  margin: 0 auto 16px;
}
.woocommerce-lost-password .woocommerce-message {
  border-top-color: #2db34b !important;
  background: #f0faf2 !important;
}

/* ══ WARTOŚCI ODŻYWCZE — zakładka produktu ══ */
.pku-nut-title { font-size: 1.1em; margin-bottom: 4px; }
.pku-nut-subtitle { color: #888; font-size: 13px; margin-bottom: 14px; }
.pku-nut-table { width: 100%; max-width: 520px; border-collapse: collapse; font-size: 14.5px; }
.pku-nut-table th,
.pku-nut-table td { padding: 7px 12px; border-bottom: 1px solid #f0f0f0; text-align: left; }
.pku-nut-table th { font-weight: 600; color: #444; width: 60%; }
.pku-nut-table td { color: #222; }
.pku-nut-table tr:last-child th,
.pku-nut-table tr:last-child td { border-bottom: none; }
.pku-nut-table tr.pku-nut-phe { background: #f0faf3; }
.pku-nut-table tr.pku-nut-phe th { color: #1a7a35; font-weight: 700; }
.pku-nut-weight { margin-top: 10px; font-size: 13px; color: #888; }

/* ═══════════════════════════════════════════════════════
   BLOG — przycisk polubienia artykulu (2026-09-09)
   ═══════════════════════════════════════════════════════ */
.pku-like-wrap { margin: 32px 0; text-align: center; }
.pku-like-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #f0f7ee;
  border: 1.5px solid #cfe3c9;
  border-radius: 999px;
  padding: 10px 20px;
  font-size: 0.95rem;
  font-weight: 600;
  color: #3a7a32;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.pku-like-btn:hover:not(:disabled) { border-color: #3a7a32; }
.pku-like-btn:disabled { cursor: default; }
.pku-like-btn--liked {
  border-color: #3a7a32;
  background: #e3f2df;
  color: #2b6b30;
}
.pku-like-icon { font-size: 1.2rem; line-height: 1; }
.pku-like-count { color: #6a9463; font-weight: 400; }
.pku-like-btn--liked .pku-like-count { color: #2b6b30; }

/* ═══════════════════════════════════════════════════════
   RESET HASŁA — te same ciemne karty co logowanie/rejestracja
   (2026-09-09). Naglowek dodany w PHP jest zagniezdzony w
   .pku-auth-panels (nie bezposrednio w .pku-login-wrap), wiec
   nie lapie sie na regule .pku-login-wrap > h2 { display:none }
   wyzej -- to celowe, potrzebujemy go widocznego tutaj.
   ═══════════════════════════════════════════════════════ */
.pku-auth-panels > h2 {
  font-size: 1.3rem;
  font-weight: 800;
  color: #1a2a1a;
  margin: 0 0 20px;
  text-align: center;
}
