/* =========================================================================
   WindPro — motyw dla PrestaShop 8.2 (potomny wobec "classic")
   Sklep z częściami do wind załadowczych.
   Paleta: żółć bezpieczeństwa + biel + grafit.
   Ten plik nadpisuje style motywu classic. Ładowany jako ostatni.
   ========================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Barlow+Semi+Condensed:wght@500;600;700&family=Inter:wght@400;500;600;700&display=swap');

/* -------------------------------------------------------------------------
   1. TOKENY / ZMIENNE
   ------------------------------------------------------------------------- */
:root {
  --wp-yellow:        #FFC400;  /* żółć bezpieczeństwa — główny akcent, CTA   */
  --wp-yellow-deep:   #E6A700;  /* stan hover / active                         */
  --wp-yellow-soft:   #FFF3CC;  /* delikatne tło (podświetlenia, badge)        */
  --wp-graphite:      #16181C;  /* tekst, nagłówek, stopka — prawie czerń      */
  --wp-steel:         #3A3F47;  /* tekst drugorzędny                           */
  --wp-slate:         #6B7280;  /* podpisy, meta                               */
  --wp-mist:          #F4F5F7;  /* jasne tło sekcji                            */
  --wp-line:          #E1E4E8;  /* obrysy, separatory                          */
  --wp-white:         #FFFFFF;
  --wp-danger:        #C0392B;

  --wp-radius:        6px;
  --wp-radius-lg:     10px;
  --wp-shadow:        0 1px 2px rgba(22,24,28,.06), 0 4px 16px rgba(22,24,28,.06);
  --wp-shadow-hover:  0 6px 24px rgba(22,24,28,.12);
  --wp-font-display:  'Barlow Semi Condensed', 'Arial Narrow', sans-serif;
  --wp-font-body:     'Inter', -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;

  /* Sygnaturowy pas ostrzegawczy (żółto-grafitowe ukośne paski) */
  --wp-hazard: repeating-linear-gradient(
      -45deg,
      var(--wp-yellow) 0, var(--wp-yellow) 18px,
      var(--wp-graphite) 18px, var(--wp-graphite) 36px);
}

/* -------------------------------------------------------------------------
   2. PODSTAWY / TYPOGRAFIA
   ------------------------------------------------------------------------- */
body {
  font-family: var(--wp-font-body);
  color: var(--wp-graphite);
  background: var(--wp-white);
  font-size: 15px;
  line-height: 1.6;
}

h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5,
.page-heading, .product-title, .featured-products .title,
.products-section-title {
  font-family: var(--wp-font-display);
  font-weight: 700;
  letter-spacing: .2px;
  color: var(--wp-graphite);
}

a {
  color: var(--wp-graphite);
  transition: color .15s ease;
}
a:hover, a:focus {
  color: var(--wp-yellow-deep);
  text-decoration: none;
}

/* Numery katalogowe / referencje — cyfry tabelaryczne, czytelnie */
.product-reference span,
.product-reference,
.price,
.current-price,
.regular-price {
  font-variant-numeric: tabular-nums;
}

/* Widoczny fokus klawiatury (dostępność) */
a:focus-visible,
button:focus-visible,
.btn:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 3px solid var(--wp-yellow);
  outline-offset: 2px;
}

/* -------------------------------------------------------------------------
   3. NAGŁÓWEK
   ------------------------------------------------------------------------- */
#header {
  background: var(--wp-white);
  color: var(--wp-graphite);
  box-shadow: 0 1px 0 var(--wp-line);
}

/* Sygnatura: cienki pas ostrzegawczy na samej górze strony */
#header::before {
  content: "";
  display: block;
  height: 5px;
  background: var(--wp-hazard);
}

#header .header-top {
  padding-top: 14px;
  padding-bottom: 14px;
}

#header a { color: var(--wp-graphite); }
#header a:hover { color: var(--wp-yellow-deep); }

/* Logo — jeśli sklep nie ma jeszcze grafiki, tekstowy zapasowy tytuł */
#_desktop_logo img,
.logo.img-responsive { max-height: 56px; width: auto; }

/* Wyszukiwarka */
#search_widget form input[type="text"] {
  border: 2px solid var(--wp-line);
  border-radius: var(--wp-radius);
  height: 44px;
  padding-left: 14px;
  font-size: 14px;
  transition: border-color .15s ease;
}
#search_widget form input[type="text"]:focus {
  border-color: var(--wp-yellow);
  box-shadow: none;
}
#search_widget form button[type="submit"] {
  color: var(--wp-graphite);
  right: 4px;
}
#search_widget form button[type="submit"] .search { color: var(--wp-steel); }

/* Koszyk / konto w pasku górnym */
.header-top .header-nav .blockcart,
#_desktop_cart .blockcart {
  background: var(--wp-graphite);
  border-radius: var(--wp-radius);
  color: var(--wp-white);
}
.header-top .header-nav .blockcart.active,
.blockcart .cart-products-count { color: var(--wp-white); }
.blockcart a, .blockcart .header { color: var(--wp-white) !important; }
.blockcart .material-icons { color: var(--wp-yellow); }

/* -------------------------------------------------------------------------
   4. MENU GŁÓWNE (ps_mainmenu)
   ------------------------------------------------------------------------- */
.header-top { position: relative; }

#_desktop_top_menu {
  background: transparent;
}
.menu-top, .top-menu {
  font-family: var(--wp-font-display);
  font-weight: 600;
  letter-spacing: .3px;
  text-transform: uppercase;
  font-size: 15px;
}
#_desktop_top_menu .top-menu a.dropdown-item,
.top-menu .sub-menu a { text-transform: none; font-family: var(--wp-font-body); }

#_desktop_top_menu .top-menu a {
  color: var(--wp-graphite);
  border-bottom: 3px solid transparent;
  padding-bottom: 6px;
  transition: color .15s ease, border-color .15s ease;
}
#_desktop_top_menu .top-menu a:hover,
#_desktop_top_menu .top-menu a.current {
  color: var(--wp-graphite);
  border-bottom-color: var(--wp-yellow);
}
/* Rozwijane podmenu */
.top-menu .popover,
.menu-content { border-top: 3px solid var(--wp-yellow); }

/* Menu mobilne */
.mobile #menu-icon .material-icons { color: var(--wp-graphite); }
#mobile_top_menu_wrapper .top-menu a { border-bottom: 1px solid var(--wp-line); }

/* -------------------------------------------------------------------------
   5. PRZYCISKI
   ------------------------------------------------------------------------- */
.btn-primary,
.btn-primary:not(:disabled):not(.disabled) {
  background: var(--wp-yellow);
  border-color: var(--wp-yellow);
  color: var(--wp-graphite);
  font-family: var(--wp-font-display);
  font-weight: 600;
  letter-spacing: .3px;
  text-transform: uppercase;
  border-radius: var(--wp-radius);
  box-shadow: none;
  transition: background .15s ease, transform .05s ease;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active {
  background: var(--wp-yellow-deep);
  border-color: var(--wp-yellow-deep);
  color: var(--wp-graphite);
}
.btn-primary:active { transform: translateY(1px); }

.btn-secondary,
.btn-outline-secondary,
.btn-tertiary {
  background: var(--wp-white);
  border: 2px solid var(--wp-graphite);
  color: var(--wp-graphite);
  font-weight: 600;
  border-radius: var(--wp-radius);
  text-transform: uppercase;
  letter-spacing: .3px;
}
.btn-secondary:hover,
.btn-outline-secondary:hover {
  background: var(--wp-graphite);
  color: var(--wp-white);
}

/* Przycisk "Dodaj do koszyka" */
.add-to-cart,
.product-add-to-cart .add-to-cart {
  background: var(--wp-yellow);
  border-color: var(--wp-yellow);
  color: var(--wp-graphite);
  font-weight: 700;
  text-transform: uppercase;
}
.add-to-cart:hover { background: var(--wp-yellow-deep); border-color: var(--wp-yellow-deep); color: var(--wp-graphite); }
.add-to-cart .material-icons { color: var(--wp-graphite); }

/* -------------------------------------------------------------------------
   6. LISTA PRODUKTÓW / KAFELKI
   ------------------------------------------------------------------------- */
.product-miniature .thumbnail-container,
.js-product-miniature .thumbnail-container {
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  background: var(--wp-white);
  box-shadow: var(--wp-shadow);
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
  overflow: hidden;
}
.product-miniature .thumbnail-container:hover {
  box-shadow: var(--wp-shadow-hover);
  transform: translateY(-3px);
  border-color: var(--wp-yellow);
}

.product-miniature .product-title { margin-top: 4px; }
.product-miniature .product-title a {
  font-family: var(--wp-font-body);
  font-weight: 600;
  font-size: 14px;
  color: var(--wp-graphite);
}
.product-miniature .product-title a:hover { color: var(--wp-yellow-deep); }

.product-description-short,
.product-miniature .product-reference { color: var(--wp-slate); font-size: 13px; }

/* Szybki podgląd */
.product-miniature .quick-view {
  color: var(--wp-graphite);
  background: rgba(255,196,0,.95);
  border-radius: var(--wp-radius);
}

/* -------------------------------------------------------------------------
   7. FLAGI / BADGE (nowość, promocja)
   ------------------------------------------------------------------------- */
.product-flags .product-flag {
  font-family: var(--wp-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  font-size: 12px;
  border-radius: 4px;
  padding: 4px 10px;
  box-shadow: none;
}
.product-flags .product-flag.new,
.product-flags .product-flag.online-only { background: var(--wp-graphite); color: var(--wp-white); }
.product-flags .product-flag.discount,
.product-flags .product-flag.on-sale { background: var(--wp-yellow); color: var(--wp-graphite); }

/* -------------------------------------------------------------------------
   8. CENY
   ------------------------------------------------------------------------- */
.price,
.product-price,
.current-price .price,
.product-miniature .price {
  color: var(--wp-graphite);
  font-family: var(--wp-font-display);
  font-weight: 700;
}
.product-price .current-price-value { color: var(--wp-graphite); }
.regular-price {
  color: var(--wp-slate);
  text-decoration: line-through;
  font-weight: 500;
}
.has-discount .discount,
.product-price .discount {
  background: var(--wp-yellow);
  color: var(--wp-graphite);
  font-weight: 700;
  border-radius: 4px;
}
.tax-shipping-delivery-label { color: var(--wp-slate); }

/* -------------------------------------------------------------------------
   9. KARTA PRODUKTU
   ------------------------------------------------------------------------- */
.page-product .product-prices .current-price .price { font-size: 2rem; }
.product-information .product-manufacturer,
.product-reference label,
.product-quantities label { color: var(--wp-steel); }

.product-actions .product-add-to-cart .qty .input-group input {
  border: 2px solid var(--wp-line);
  border-radius: var(--wp-radius) 0 0 var(--wp-radius);
}
.product-availability .product-available { color: #1e7d34; font-weight: 600; }
.product-availability .product-unavailable { color: var(--wp-danger); font-weight: 600; }

/* Zakładki (opis, szczegóły, dane techniczne) */
.tabs .nav-tabs { border-bottom: 2px solid var(--wp-line); }
.tabs .nav-tabs .nav-link {
  color: var(--wp-steel);
  font-family: var(--wp-font-display);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .3px;
  border: none;
  border-bottom: 3px solid transparent;
}
.tabs .nav-tabs .nav-link.active {
  color: var(--wp-graphite);
  border-bottom-color: var(--wp-yellow);
  background: transparent;
}

/* Tabela danych technicznych (ważna dla części) */
.product-features .data-sheet dt.name { background: var(--wp-mist); color: var(--wp-graphite); font-weight: 600; }
.product-features .data-sheet dd.value { background: var(--wp-white); }
table.table-striped thead { background: var(--wp-graphite); color: var(--wp-white); }

/* -------------------------------------------------------------------------
   10. OKRUSZKI / PAGINACJA / FILTRY
   ------------------------------------------------------------------------- */
.breadcrumb { background: transparent; padding-left: 0; }
.breadcrumb li a { color: var(--wp-slate); }
.breadcrumb li:not(:first-child)::before { color: var(--wp-line); }
.breadcrumb li a:hover { color: var(--wp-yellow-deep); }

.pagination .page-list li a,
.pagination .page-list li span {
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius);
  color: var(--wp-graphite);
  min-width: 40px;
  text-align: center;
}
.pagination .page-list li.current a,
.pagination .page-list li a:hover {
  background: var(--wp-yellow);
  border-color: var(--wp-yellow);
  color: var(--wp-graphite);
  font-weight: 700;
}

/* Filtry po lewej (faceted search) */
#search_filters .facet-title,
#search_filters .h6 { color: var(--wp-graphite); font-family: var(--wp-font-display); font-weight: 700; text-transform: uppercase; }
#search_filters .facet .facet-label a:hover { color: var(--wp-yellow-deep); }
.active_filters { background: var(--wp-yellow-soft); border-radius: var(--wp-radius); }
.active_filters .filter-block { background: var(--wp-graphite); color: var(--wp-white); border-radius: 4px; }

/* -------------------------------------------------------------------------
   11. FORMULARZE / ALERTY
   ------------------------------------------------------------------------- */
.form-control:focus,
input.form-control:focus,
textarea.form-control:focus {
  border-color: var(--wp-yellow);
  box-shadow: 0 0 0 3px rgba(255,196,0,.25);
}
.custom-checkbox input[type="checkbox"]:checked + span,
.custom-radio input[type="radio"]:checked + span { background: var(--wp-yellow); border-color: var(--wp-yellow-deep); }
.custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked { color: var(--wp-graphite); }

.alert-success { border-left: 4px solid #1e7d34; }
.alert-warning { border-left: 4px solid var(--wp-yellow-deep); }
.alert-danger  { border-left: 4px solid var(--wp-danger); }

/* -------------------------------------------------------------------------
   12. STOPKA
   ------------------------------------------------------------------------- */
#footer { background: var(--wp-graphite); color: #C9CDD4; padding-top: 0; }
#footer::before {
  content: "";
  display: block;
  height: 5px;
  background: var(--wp-hazard);
}
#footer .footer-container { background: var(--wp-graphite); box-shadow: none; margin-top: 0; padding-top: 3rem; }
#footer a, #footer .link-item a, #footer li a { color: #C9CDD4; }
#footer a:hover { color: var(--wp-yellow); }
#footer .h3, #footer .title .h3, #footer .links .h3 {
  color: var(--wp-white);
  font-family: var(--wp-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-bottom: 2px solid rgba(255,196,0,.35);
  padding-bottom: 8px;
}
#footer .block-contact .material-icons,
#footer .contact-rich .material-icons { color: var(--wp-yellow); }

/* -------------------------------------------------------------------------
   13. NEWSLETTER
   ------------------------------------------------------------------------- */
#footer .block-newsletter,
#block-newsletter {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,196,0,.25);
  border-radius: var(--wp-radius-lg);
  padding: 20px;
}
#block-newsletter p, #footer .block-newsletter p { color: #C9CDD4; }
#block-newsletter input[type="email"] {
  border: 2px solid transparent;
  border-radius: var(--wp-radius);
  height: 44px;
}
#block-newsletter input[type="submit"],
#block-newsletter .btn {
  background: var(--wp-yellow);
  color: var(--wp-graphite);
  font-weight: 700;
  text-transform: uppercase;
  border-radius: var(--wp-radius);
}

/* -------------------------------------------------------------------------
   14. PASEK ZAUFANIA / USP  (opcjonalny — patrz README, wstawiasz w Admin)
       Klasa .windpro-usp gotowa pod blok HTML "Custom text".
   ------------------------------------------------------------------------- */
.windpro-usp {
  background: var(--wp-graphite);
  color: var(--wp-white);
  font-family: var(--wp-font-display);
  font-weight: 600;
  letter-spacing: .3px;
}
.windpro-usp .container {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 28px;
  justify-content: center;
  padding: 10px 15px;
}
.windpro-usp .usp-item {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  text-transform: uppercase;
}
.windpro-usp .usp-item::before {
  content: "";
  width: 9px; height: 9px;
  background: var(--wp-yellow);
  border-radius: 2px;
  transform: rotate(45deg);
  flex: 0 0 auto;
}

/* Sekcja hero na stronie głównej (opcjonalna, klasa gotowa pod blok HTML) */
.windpro-hero {
  background: var(--wp-graphite);
  color: var(--wp-white);
  border-radius: var(--wp-radius-lg);
  padding: 56px 40px;
  position: relative;
  overflow: hidden;
  margin-bottom: 2.5rem;
}
.windpro-hero::after {
  content: "";
  position: absolute; right: -40px; top: 0; bottom: 0; width: 160px;
  background: var(--wp-hazard);
  opacity: .9;
  transform: skewX(-12deg);
}
.windpro-hero h1 { color: var(--wp-white); font-size: clamp(28px, 4vw, 46px); line-height: 1.05; margin-bottom: 12px; }
.windpro-hero p { color: #C9CDD4!important; max-width: 46ch; font-size: 16px; }
.windpro-hero .btn-primary { margin-top: 20px; }

/* -------------------------------------------------------------------------
   15. RÓŻNE POPRAWKI SPÓJNOŚCI
   ------------------------------------------------------------------------- */
.products-section-title,
h2.products-section-title {
  text-align: left;
  text-transform: uppercase;
  letter-spacing: .5px;
  border-left: 5px solid var(--wp-yellow);
  padding-left: 14px;
  margin: 2.5rem 0 1.5rem;
}
.page-header h1, .page-heading { text-transform: uppercase; letter-spacing: .5px; }

.card { border: 1px solid var(--wp-line); border-radius: var(--wp-radius-lg); }
hr { border-top-color: var(--wp-line); }

/* Przycisk "do góry" jeśli aktywny */
#footer .to-top, .back-to-top { background: var(--wp-yellow); color: var(--wp-graphite); }

/* Cookie / RODO belka spójna kolorystycznie */
#palban-container .pa-btn, .cookie-banner .btn { background: var(--wp-yellow); color: var(--wp-graphite); }

/* Reakcja na preferencję ograniczenia ruchu */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
  .product-miniature .thumbnail-container:hover { transform: none; }
}

/* -------------------------------------------------------------------------
   16. RESPONSYWNOŚĆ
   ------------------------------------------------------------------------- */
@media (max-width: 767px) {
  .windpro-hero { padding: 36px 22px; }
  .windpro-hero::after { display: none; }
  .products-section-title { margin-top: 1.75rem; }
  #search_widget form input[type="text"] { height: 42px; }
}

/* -------------------------------------------------------------------------
   17. SZERSZY UKŁAD (mniej „boksowo")
   Poszerza główny kontener na dużych ekranach. Domyślnie classic ogranicza
   stronę do ~1230px — tu podnosimy limit, zachowując czytelne marginesy.
   Chcesz węziej/szerzej? Zmień wartość --wp-container-max poniżej.
   ------------------------------------------------------------------------- */
:root { --wp-container-max: 1560px; }

@media (min-width: 1200px) {
  .container,
  #header .container,
  #footer .container,
  #wrapper .container,
  #content-wrapper .container,
  .header-top .container,
  .header-nav .container {
    max-width: var(--wp-container-max);
    width: 100%;
  }
}

/* Delikatne, równe marginesy boczne na bardzo szerokich ekranach */
@media (min-width: 1600px) {
  #wrapper > .container,
  #content-wrapper > .container {
    padding-left: 30px;
    padding-right: 30px;
  }
}

/* -------------------------------------------------------------------------
   18. STRONA PRODUKTU
   ------------------------------------------------------------------------- */
.product-container { margin-top: 1.5rem; }

/* Zdjęcia */
.product-cover img {
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  background: #fff;
}
.images-container .product-images > li.thumb-container .thumb {
  border: 2px solid var(--wp-line);
  border-radius: var(--wp-radius);
  transition: border-color .15s ease;
}
.images-container .product-images > li.thumb-container .thumb.selected,
.images-container .product-images > li.thumb-container .thumb:hover {
  border-color: var(--wp-yellow);
}

/* Nagłówek i meta */
.page-product h1.h1,
.product-information .h1 {
  font-family: var(--wp-font-display);
  font-weight: 700;
  font-size: 2rem;
  line-height: 1.15;
  letter-spacing: .2px;
  text-transform: none;
}
.product-information .product-manufacturer { color: var(--wp-slate); margin-bottom: .5rem; }
.product-information .product-manufacturer img { max-height: 40px; width: auto; }
.product-reference { color: var(--wp-slate); font-size: .9rem; }
.product-reference span { color: var(--wp-graphite); font-weight: 600; }
.product-description-short { color: var(--wp-steel); font-size: .98rem; }

/* Cena — mocna, czytelna */
.product-prices { margin: 1rem 0 0; }
.product-prices .current-price {
  display: flex; align-items: baseline; flex-wrap: wrap; gap: 12px;
}
.product-prices .current-price .price {
  font-family: var(--wp-font-display);
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1;
  color: var(--wp-graphite);
}
.product-prices .regular-price {
  font-size: 1.1rem;
  color: var(--wp-slate);
  text-decoration: line-through;
  font-weight: 500;
}
.product-prices .discount,
.product-prices .product-discount .discount,
.product-prices .current-price .discount {
  background: var(--wp-yellow);
  color: var(--wp-graphite);
  font-weight: 700;
  border-radius: 4px;
  padding: 3px 9px;
  font-size: .95rem;
}
.product-prices .tax-shipping-delivery-label { color: var(--wp-slate); font-size: .8rem; }

/* Dostępność jako „pigułka" */
.product-availability { font-weight: 600; margin: .6rem 0; display: inline-flex; align-items: center; gap: 6px; }
.product-availability .material-icons { font-size: 1.1rem; }
.product-availability .product-available { color: #1e7d34; }
.product-availability .product-unavailable,
.product-availability .product-last-items { color: var(--wp-danger); }

/* BUY BOX — panel zakupu (ilość + do koszyka) */
.product-actions {
  background: var(--wp-mist);
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  padding: 20px;
  margin-top: 1rem;
}
.product-actions .control-label { font-weight: 600; color: var(--wp-steel); }
.product-quantity { display: flex; align-items: stretch; flex-wrap: wrap; gap: 10px; margin-top: .25rem; }
.product-quantity .qty { margin: 0; }
.product-quantity #quantity_wanted,
.product-quantity input.js-cart-line-product-quantity {
  height: 52px; min-width: 64px; text-align: center; font-weight: 700;
  border: 2px solid var(--wp-line); border-radius: var(--wp-radius);
}
.product-quantity .add { margin: 0; flex: 1 1 auto; }
.product-quantity .add .btn.add-to-cart,
.product-add-to-cart .add-to-cart {
  width: 100%;
  height: 52px;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .3px;
  background: var(--wp-yellow);
  border-color: var(--wp-yellow);
  color: var(--wp-graphite);
}
.product-quantity .add .btn.add-to-cart:hover { background: var(--wp-yellow-deep); border-color: var(--wp-yellow-deep); color: var(--wp-graphite); }
.product-add-to-cart .add-to-cart .material-icons { color: var(--wp-graphite); margin-right: 6px; }

/* Blok zaufania na karcie produktu */
.block-reassurance {
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  overflow: hidden;
  margin-top: 1.25rem;
  background: #fff;
}
.block-reassurance ul { margin: 0; }
.block-reassurance li { border-bottom: 1px solid var(--wp-line); margin: 0; }
.block-reassurance li:last-child { border-bottom: 0; }
.block-reassurance .block-reassurance-item { padding: 12px 16px; }
.block-reassurance span { color: var(--wp-steel); font-weight: 500; }

/* Zakładki i dane techniczne */
.tabs { margin-top: 2rem; background: #fff; border: 1px solid var(--wp-line); border-radius: var(--wp-radius-lg); padding: 8px 20px 20px; }
.tabs .tab-content { padding-top: 1.25rem; }
.product-features { margin-top: .5rem; }
.data-sheet { margin: 0; }
.data-sheet dt.name {
  background: var(--wp-mist);
  color: var(--wp-graphite);
  font-weight: 600;
}
.data-sheet dd.value { background: #fff; }
.data-sheet dt.name,
.data-sheet dd.value {
  border-bottom: 1px solid var(--wp-line);
  padding: 10px 14px;
}

/* Sekcje powiązane / akcesoria */
.product-accessories .products-section-title { margin-top: 2.5rem; }

/* -------------------------------------------------------------------------
   19. STRONA KATEGORII / LISTA PRODUKTÓW
   ------------------------------------------------------------------------- */
/* Nagłówek kategorii */
.block-category,
#category #js-product-list-header .block-category {
  background: #fff;
  border: 1px solid var(--wp-line);
  border-left: 5px solid var(--wp-yellow);
  border-radius: var(--wp-radius-lg);
  padding: 22px 24px;
  margin-bottom: 1.5rem;
}
#category h1.h1,
.block-category h1 {
  font-family: var(--wp-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: .5rem;
}
#category-description,
.block-category #category-description p { color: var(--wp-steel); }
.block-category .category-cover img { border-radius: var(--wp-radius); }

/* Pasek narzędzi: liczba produktów + sortowanie (bez tła, aby nie łamać .row) */
#js-product-list-top { border-bottom: 1px solid var(--wp-line); padding-bottom: 12px; margin-bottom: 1.25rem; }
.total-products p, #js-product-list-top .total-products p { margin: 0; font-weight: 600; color: var(--wp-graphite); }
.products-sort-order .select-title {
  border: 2px solid var(--wp-line);
  border-radius: var(--wp-radius);
  background: #fff;
  color: var(--wp-graphite);
  font-weight: 600;
}
.products-sort-order .select-title:hover { border-color: var(--wp-yellow); }
.products-sort-order .dropdown-menu { border-radius: var(--wp-radius); border-color: var(--wp-line); }
.products-sort-order .dropdown-menu .select-list:hover,
.products-sort-order .dropdown-menu .select-list.current { background: var(--wp-yellow-soft); color: var(--wp-graphite); }

/* Panel filtrów (faceted search) */
#search_filters {
  background: #fff;
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  padding: 18px 20px;
}
#search_filters .h6,
#search_filters .facet-title {
  font-family: var(--wp-font-display);
  text-transform: uppercase;
  font-weight: 700;
  color: var(--wp-graphite);
  letter-spacing: .3px;
}
#search_filters .facet { border-top: 1px solid var(--wp-line); padding-top: .85rem; margin-top: .35rem; }
#search_filters .facet:first-of-type { border-top: 0; margin-top: 0; }
#search_filters .facet .facet-label { color: var(--wp-steel); }
#search_filters .facet .facet-label a:hover { color: var(--wp-yellow-deep); }
#search_filters .custom-checkbox input[type="checkbox"]:checked + span { background: var(--wp-yellow); border-color: var(--wp-yellow-deep); }
#search_filters .custom-checkbox input[type="checkbox"]:checked + span .material-icons { color: var(--wp-graphite); }

/* Suwak ceny/wagi */
.ui-slider-horizontal { background: var(--wp-line); border: 0; height: 6px; border-radius: 4px; }
.ui-slider .ui-slider-range { background: var(--wp-yellow); }
.ui-slider .ui-slider-handle {
  background: var(--wp-graphite);
  border: 2px solid var(--wp-yellow);
  border-radius: 50%;
  width: 18px; height: 18px; top: -7px;
}

/* Aktywne filtry */
.active_filters {
  background: var(--wp-yellow-soft);
  border: 1px solid rgba(255,196,0,.5);
  border-radius: var(--wp-radius);
  padding: 10px 14px;
}
.active_filters .active-filter-title,
.active_filters > p { color: var(--wp-graphite); font-weight: 600; }
.active_filters .filter-block {
  background: var(--wp-graphite);
  color: #fff;
  border-radius: 4px;
}
.active_filters .filter-block .close { color: var(--wp-yellow); opacity: 1; text-shadow: none; }

/* Podkategorie w kolumnie */
.block-categories {
  background: #fff;
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  padding: 16px 18px;
}
.block-categories .category-top-menu a,
.block-categories a { color: var(--wp-steel); }
.block-categories a:hover { color: var(--wp-yellow-deep); }
.block-categories .category-top-menu > li > a,
.block-categories > .h6 {
  color: var(--wp-graphite);
  font-family: var(--wp-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .3px;
}

/* =========================================================================
   21. NADPISANIA O WYŻSZEJ SPECYFICZNOŚCI (kontra theme.css z classic)
   classic definiuje te elementy selektorami ID / złożonymi (wysoka
   specyficzność), więc przy remisie wygrywał jego arkusz. Poniżej kotwiczymy
   reguły w body#category / body#product / #left-column, aby deterministycznie
   przebić classic — niezależnie od kolejności ładowania plików.
   ========================================================================= */

/* ---------- STRONA KATEGORII ---------- */

/* Lewa kolumna — karty modułów (classic: .block-categories / #search_filters) */
body#category #left-column .block-categories,
body#category #left-column #search_filters,
body#category #left-column #search_filters_brands,
body#category #left-column #search_filters_suppliers {
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  box-shadow: var(--wp-shadow);
  background: #fff;
}

/* Tytuły bloków lewej kolumny — żółte podkreślenie, Barlow, wersaliki */
body#category #left-column .block-categories .h6,
body#category #left-column #search_filters > .h6,
body#category #left-column #search_filters_brands > .h6,
body#category #left-column #search_filters_suppliers > .h6 {
  font-family: var(--wp-font-display);
  font-size: 1.1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--wp-graphite);
  padding-bottom: 10px;
  margin-bottom: 8px;
  border-bottom: 2px solid var(--wp-yellow);
}

/* Linki kategorii */
body#category #left-column .block-categories .category-sub-menu .category-sub-link,
body#category #left-column .block-categories a { color: var(--wp-steel); }
body#category #left-column .block-categories a:hover { color: var(--wp-yellow-deep); }

/* Nagłówek kategorii */
body#category .block-category,
body#category #js-product-list-header .block-category {
  background: #fff;
  border: 1px solid var(--wp-line);
  border-left: 5px solid var(--wp-yellow);
  border-radius: var(--wp-radius-lg);
  padding: 22px 24px;
  min-height: 0;
}
body#category .block-category h1 {
  font-family: var(--wp-font-display);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
}

/* Liczba produktów — pogrubiona (classic: .total-products, NIE .total-products p) */
body#category .total-products,
body#category .products-selection .total-products {
  font-weight: 700;
  color: var(--wp-graphite);
}

/* Pole sortowania (classic: .products-sort-order .select-title, border 1px szary) */
body#category .products-sort-order .select-title {
  border: 2px solid var(--wp-line);
  border-radius: var(--wp-radius);
  color: var(--wp-graphite);
  font-weight: 600;
  background: #fff;
}
body#category .products-sort-order .select-title:hover { border-color: var(--wp-yellow); }
body#category .products-sort-order .dropdown-menu .select-list:hover {
  background: var(--wp-yellow-soft);
  color: var(--wp-graphite);
}

/* Aktywne filtry (classic: .active_filters { background:#dededd }) */
body#category .active_filters {
  background: var(--wp-yellow-soft);
  border: 1px solid rgba(255,196,0,.5);
  border-radius: var(--wp-radius);
  padding: 10px 16px 0;
}
body#category .active_filters .active-filter-title { color: var(--wp-graphite); }
body#category .active_filters .filter-block {
  background: var(--wp-graphite);
  color: #fff;
  border-radius: 4px;
}
body#category .active_filters .filter-block .close { color: var(--wp-yellow); opacity: 1; }

/* Suwak ceny / wagi */
body#category #left-column #search_filters .ui-slider,
body#category #left-column #search_filters .ui-slider-horizontal {
  background: var(--wp-line);
  border: 0;
  height: 6px;
  border-radius: 4px;
}
body#category #left-column #search_filters .ui-slider .ui-slider-range { background: var(--wp-yellow); }
body#category #left-column #search_filters .ui-slider .ui-slider-handle {
  background: var(--wp-graphite);
  border: 2px solid var(--wp-yellow);
  border-radius: 50%;
}

/* Checkboxy filtrów */
body#category #left-column #search_filters .custom-checkbox input[type="checkbox"]:checked + span {
  background: var(--wp-yellow);
  border-color: var(--wp-yellow-deep);
}
body#category #left-column #search_filters .custom-checkbox input[type="checkbox"]:checked + span .material-icons { color: var(--wp-graphite); }

/* ---------- STRONA PRODUKTU ---------- */

/* Cena — duża i mocna */
body#product .product-prices .current-price .price,
body#product .product-prices .current-price span.price {
  font-family: var(--wp-font-display);
  font-weight: 700;
  font-size: 2.2rem;
  line-height: 1;
  color: var(--wp-graphite);
}
body#product .product-prices .regular-price {
  color: var(--wp-slate);
  text-decoration: line-through;
}
body#product .product-prices .discount {
  background: var(--wp-yellow);
  color: var(--wp-graphite);
  border-radius: 4px;
}

/* BUY BOX */
body#product .product-actions {
  background: var(--wp-mist);
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  padding: 20px;
  margin-top: 1rem;
}
body#product .product-actions .product-quantity {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: 10px;
}
body#product .product-actions .product-quantity .qty,
body#product .product-actions .product-quantity .add { float: none; margin: 0; }
body#product .product-actions .product-quantity .add { flex: 1 1 auto; }
body#product .product-actions .product-quantity #quantity_wanted {
  width: 64px;
  height: 52px;
  padding: 0;
  text-align: center;
  font-weight: 700;
  border: 2px solid var(--wp-line);
  border-radius: var(--wp-radius);
}
body#product .product-actions .add-to-cart {
  width: 100%;
  height: 52px;
  padding: 0 20px;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .3px;
  line-height: 1;
  background: var(--wp-yellow);
  border-color: var(--wp-yellow);
  color: var(--wp-graphite);
}
body#product .product-actions .add-to-cart:hover {
  background: var(--wp-yellow-deep);
  border-color: var(--wp-yellow-deep);
  color: var(--wp-graphite);
}
body#product .product-actions .add-to-cart .material-icons { color: var(--wp-graphite); }

/* Dane techniczne (classic: .product-features>dl.data-sheet ...; zebra #f6f6f6) */
body#product .product-features > dl.data-sheet dt.name {
  background: var(--wp-mist);
  color: var(--wp-graphite);
  font-weight: 600;
}
body#product .product-features > dl.data-sheet dd.value { background: #fff; }
body#product .product-features > dl.data-sheet dt.name,
body#product .product-features > dl.data-sheet dd.value { border-bottom: 1px solid var(--wp-line); }
body#product .product-features > dl.data-sheet dd.value:nth-of-type(even),
body#product .product-features > dl.data-sheet dt.name:nth-of-type(even) { background: var(--wp-mist); }

/* Blok zaufania (classic: #block-reassurance — to ID, nie klasa!) */
body#product #block-reassurance {
  border: 1px solid var(--wp-line);
  border-radius: var(--wp-radius-lg);
  overflow: hidden;
  background: #fff;
}
body#product #block-reassurance li { border-bottom: 1px solid var(--wp-line); }
body#product #block-reassurance li:last-child { border-bottom: 0; }
body#product #block-reassurance span { color: var(--wp-steel); }

/* =========================================================================
   22. LICZBA PRODUKTÓW W WIERSZU (STRONA KATEGORII)
   >>> Aby zmienić: ustaw --wp-cols na 4 lub 5 w regule poniżej. <<<
   Na węższych ekranach liczba kolumn spada automatycznie (3 / 2 / 1).
   Kotwica body#category + !important przebija klasy kolumn classic.
   ========================================================================= */
body#category #js-product-list .products,
body#category #content-wrapper .products {
  --wp-cols: 5;                 /* <-- ZMIEŃ NA 5, JEŚLI CHCESZ 5 W WIERSZU */
  justify-content: flex-start !important;
}
body#category #js-product-list .products > *,
body#category #content-wrapper .products > * {
  flex: 0 0 calc(100% / var(--wp-cols)) !important;
  max-width: calc(100% / var(--wp-cols)) !important;
  width: calc(100% / var(--wp-cols)) !important;
}

/* Ekrany < 1200px: 3 w wierszu */
@media (max-width: 1199.98px) {
  body#category #js-product-list .products > *,
  body#category #content-wrapper .products > * {
    flex-basis: 33.3333% !important;
    max-width: 33.3333% !important;
    width: 33.3333% !important;
  }
}
/* Tablety < 768px: 2 w wierszu */
@media (max-width: 767.98px) {
  body#category #js-product-list .products > *,
  body#category #content-wrapper .products > * {
    flex-basis: 50% !important;
    max-width: 50% !important;
    width: 50% !important;
  }
}
/* Telefony < 480px: 1 w wierszu */
@media (max-width: 479.98px) {
  body#category #js-product-list .products > *,
  body#category #content-wrapper .products > * {
    flex-basis: 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* =========================================================================
   23. NAGŁÓWEK KATEGORII — bez miniatury (tylko nazwa)
   Ukrywa okładkę/miniaturę w .block-category-inner. classic: .category-cover
   ========================================================================= */
body#category .block-category .block-category-inner .category-cover,
body#category .block-category .category-cover,
body#category .block-category #category-thumbnail {
  display: none !important;
}
/* Nazwa na pełną szerokość po usunięciu miniatury */
body#category .block-category .block-category-inner { display: block !important; }

/* =========================================================================
   24. CENA UZUPEŁNIAJĄCA NETTO / BRUTTO (moduł windproprices)
   Moduł wypisuje tylko tę cenę, której motyw nie pokazuje jako głównej,
   dzięki czemu ta sama kwota nie powtarza się dwa razy.
   ========================================================================= */
.windpro-nb {
  display: block;
  margin-top: 4px;
  font-family: var(--wp-font-body, 'Inter', Arial, sans-serif);
  font-size: .82rem;
  line-height: 1.4;
  font-variant-numeric: tabular-nums;
  color: var(--wp-slate, #6B7280);
}
.windpro-nb .wp-lbl { color: var(--wp-slate, #6B7280); font-weight: 500; }
.windpro-nb .wp-val { color: var(--wp-graphite, #16181C); font-weight: 600; }

/* Karta produktu — nieco większe */
body#product .windpro-nb { font-size: .95rem; margin-top: 8px; }

/* Linia koszyka — wyrównanie do reszty */
body#cart .windpro-nb,
body#checkout .windpro-nb { margin-top: 2px; }

/* =========================================================================
   25. PEŁNE NAZWY W MINIATURACH (bez obcinania) — zawijanie i równe wysokości
   ========================================================================= */
.product-miniature .product-title,
body#category .product-miniature .product-title {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
.product-miniature .product-title a { display: block; }
body#category #js-product-list .product-miniature .product-title { min-height: 2.6em; }
.product-miniature .highlighted-informations {     display: none; }
