/**
 * AndrexTools - AndrexTools design 1:1
 * Design z adnrext-tools (GitHub)
 */

/* === Design System - AndrexTools colors === */
:root {
  --andrex-background: hsl(0, 0%, 98%);
  --andrex-foreground: hsl(0, 0%, 20%);
  --andrex-card: hsl(0, 0%, 100%);
  --andrex-primary: hsl(45, 95%, 58%);
  --andrex-primary-hover: hsl(45, 95%, 48%);
  --andrex-primary-foreground: hsl(0, 0%, 20%);
  --andrex-secondary: hsl(0, 0%, 50%);
  --andrex-secondary-foreground: hsl(0, 0%, 98%);
  --andrex-muted: hsl(0, 0%, 94%);
  --andrex-muted-foreground: hsl(0, 0%, 40%);
  --andrex-border: #e6e6e6;
  --andrex-radius: 0.25rem;
}

body { background: #fff; }
body, .page-home { color: var(--andrex-foreground); }
a { color: #fac72e; }
a:hover { color: #efb506; }

/* NOTE: Nie nadpisujemy globalnie .container-fluid - ta klasa Bootstrapa jest używana
   także w panelu administracyjnym. Sekcje frontendu używają .andrex-section-inner. */

#wrapper {
  padding-top: 0;
  background: #fff;
  overflow-x: hidden;
}
#index #wrapper { overflow: hidden; }

.breadcrumb {
  margin-top: 20px;
  font-size: 0.75rem;
}
@media (max-width: 767px) {
  .breadcrumb {
    margin-left: 15px;
    margin-right: 15px;
  }
}
@media (max-width: 991.98px) {
  .breadcrumb {
    margin-top: 15px;
  }
}

/* === Navbar - AndrexTools style === */
#header .header-banner,
#header .header-nav { display: none !important; }
.andrex-top-bar {
  background: var(--andrex-muted);
  border-bottom: 1px solid var(--andrex-border);
  padding: 0.4rem 0;
  font-size: 0.8125rem;
  color: var(--andrex-muted-foreground);
}
.andrex-top-bar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
}
.andrex-top-bar a { color: var(--andrex-primary); font-weight: 500; }
.andrex-top-bar a:hover { text-decoration: underline; }
#header .header-top {
  background: var(--andrex-card) !important;
  border-bottom: 1px solid var(--andrex-border) !important;
  padding: 0;
}
.andrex-navbar-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 80px;
  gap: 2rem;
  flex-wrap: wrap;
}
@media (max-width: 991px) {
  .andrex-navbar-row {
    flex-wrap: nowrap;
    gap: 0.75rem;
    min-height: 64px;
  }
  .andrex-navbar-logo { flex-shrink: 0; }
  .andrex-navbar-logo .andrex-logo { max-height: 40px !important; }
  .andrex-navbar-actions { flex-shrink: 0; gap: 0.5rem; }
}
.andrex-navbar-logo img,
.andrex-logo { max-height: 48px !important; width: auto; display: block; }
.andrex-navbar-links {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  flex: 1;
  justify-content: center;
}
.andrex-navbar-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.andrex-navbar-actions > * { display: flex !important; align-items: center; flex-wrap: wrap; gap: 0.25rem; }
/* Ukryj inline search w headerze - otwiera się w full modal */
.andrex-navbar-actions #search_widget,
.andrex-navbar-actions .search-widgets { display: none !important; }
/* Przycisk wyszukiwania - otwiera modal */
.andrex-search-trigger {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  cursor: pointer;
  color: var(--andrex-foreground);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}
.andrex-search-trigger:hover { color: var(--andrex-primary-hover); }

/* === Full-screen search modal === */
.andrex-search-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  background: #fff;
}
.andrex-search-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.andrex-search-modal-backdrop {
  position: absolute;
  inset: 0;
  background: #fff;
  cursor: pointer;
}
.andrex-search-modal-content {
  position: relative;
  width: 100%;
  max-width: 48rem;
  padding: 2rem 2rem 0;
  z-index: 1;
}
.andrex-search-modal-close {
  position: absolute;
  top: 1rem;
  right: 2rem;
  background: none;
  border: none;
  color: var(--andrex-foreground);
  cursor: pointer;
  padding: 0.5rem;
  transition: opacity 0.2s;
}
.andrex-search-modal-close:hover { opacity: 0.7; }
.andrex-search-modal-inner {
  background: #fff;
  padding: 2rem 0;
  box-shadow: none;
}
/* ps_searchbar (#search_widget) w modalu */
.andrex-search-modal-inner #search_widget {
  display: block !important;
  float: none;
  margin: 0;
  min-width: 100%;
}
.andrex-search-modal-inner #search_widget form input[type="text"] {
  font-size: 1.25rem;
  padding: 1rem 1.25rem 1rem 3rem;
  width: 100%;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
}
.andrex-search-modal-inner #search_widget form input[type="text"]:focus {
  border-color: var(--andrex-primary);
  outline: none;
}
.andrex-search-form-wrap {
  position: relative;
  display: flex;
  align-items: center;
}
.andrex-search-form .andrex-search-icon {
  position: absolute;
  left: 1rem;
  color: var(--andrex-muted-foreground);
  pointer-events: none;
}
.andrex-search-form input[type="text"] {
  width: 100%;
  font-size: 1.25rem;
  padding: 1rem 1.25rem 1rem 3rem;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  outline: none;
  background: var(--andrex-background);
}
.andrex-search-form input[type="text"]:focus {
  border-color: var(--andrex-primary);
}

/* === Blockcart modal - ładne okno po dodaniu do koszyka === */
#blockcart-modal,
#post-product-comment-modal {
  z-index: 100001 !important;
  opacity: 1;
  transition: opacity 0.2s ease;
}
#blockcart-modal:not(.show):not(.in),
#post-product-comment-modal:not(.show):not(.in) {
  opacity: 0 !important;
  pointer-events: none;
}
#blockcart-modal + .modal-backdrop,
#post-product-comment-modal + .modal-backdrop,
body .modal-backdrop:last-of-type {
  z-index: 100000 !important;
}

/* Fancybox (fancyzoom) - musi być nad modal-backdrop aby przycisk X działał */
.fancybox-overlay,
.fancybox-overlay-fixed,
.fancybox-wrap,
.fancybox-opened,
.fancybox-skin,
.fancybox-close {
  z-index: 11000 !important;
}
.fancybox-close {
  pointer-events: auto !important;
  cursor: pointer !important;
}
/* Gdy Fancybox jest otwarty - obniż backdrop Bootstrapa, aby nie blokował kliknięć */
body:has(.fancybox-overlay) .modal-backdrop {
  z-index: 9000 !important;
}
#blockcart-modal .modal-dialog { max-width: 460px; }
#blockcart-modal .modal-content {
  border: none;
  border-radius: 8px;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
#blockcart-modal .andrex-blockcart-header {
  border-bottom: none;
  padding: 1.25rem 1.5rem 1rem;
}
#blockcart-modal .modal-title {
  font-size: 1.125rem;
  font-weight: 700;
  color: var(--andrex-foreground);
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
#blockcart-modal .andrex-blockcart-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  min-width: 2.5rem;
  min-height: 2.5rem;
  border-radius: 50%;
  background: var(--andrex-primary);
  flex-shrink: 0;
}
#blockcart-modal .andrex-blockcart-icon .material-icons.andrex-check {
  margin: 0;
  font-size: 1.5rem;
  color: #fff;
  line-height: 1;
  display: block;
  text-align: center;
}
#blockcart-modal .modal-header .close {
  margin: -0.5rem -0.5rem -0.5rem auto;
  padding: 0.5rem;
  opacity: 0.6;
}
#blockcart-modal .modal-header .close:hover { opacity: 1; }
#blockcart-modal .modal-body { padding: 0 1.5rem 1.5rem; }
#blockcart-modal .andrex-blockcart-product {
  display: flex;
  gap: 1.25rem;
  align-items: center;
  padding: 1.25rem;
  background: #f8f8f8;
  border-radius: 8px;
  margin-bottom: 1.5rem;
}
#blockcart-modal .andrex-blockcart-product-img {
  flex-shrink: 0;
  width: 100px;
  height: 100px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #eee;
}
#blockcart-modal .andrex-blockcart-product-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
#blockcart-modal .andrex-blockcart-product-info { flex: 1; min-width: 0; }
#blockcart-modal .andrex-blockcart-product-name {
  font-size: 1rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  margin: 0 0 0.35rem 0;
  line-height: 1.35;
}
#blockcart-modal .andrex-blockcart-product-attrs {
  font-size: 0.8125rem;
  color: var(--andrex-muted-foreground);
  margin: 0 0 0.25rem 0;
}
#blockcart-modal .andrex-blockcart-product-attrs .andrex-attrs-sep { opacity: 0.6; }
#blockcart-modal .andrex-blockcart-product-qty {
  font-size: 0.875rem;
  color: var(--andrex-muted-foreground);
  margin: 0 0 0.35rem 0;
}
#blockcart-modal .andrex-blockcart-product-price {
  font-size: 1.375rem;
  font-weight: 700;
  color: #666;
  margin: 0;
}
#blockcart-modal .andrex-blockcart-buttons {
  display: block;
}
#blockcart-modal .andrex-btn-cart {
  width: 100%;
  background: var(--andrex-primary) !important;
  border: none !important;
  color: var(--andrex-primary-foreground) !important;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
#blockcart-modal .andrex-btn-cart .material-icons { font-size: 1.25rem; }
#blockcart-modal .andrex-btn-cart:hover {
  background: var(--andrex-primary-hover) !important;
  color: var(--andrex-primary-foreground) !important;
}

#header #_desktop_cart,
#header #_desktop_user_info,
#header .blockcart,
#header .user-info { margin: 0 !important; padding: 0 !important; }
#header .blockcart .header {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
}
#header .blockcart .header, #header .blockcart .header .material-icons{
  position:relative;
}
#header .blockcart .header a,
#header .user-info a {
  display: inline-flex;
  align-items: center;
  gap: 0.1rem;
  color: var(--andrex-foreground);
  text-decoration: none;
}
#header .blockcart .header a:hover,
#header .user-info a:hover { color: var(--andrex-primary-hover); }
#header a:hover { color: #dfab00; }
#header .blockcart .cart-products-count,
#header .blockcart .header span { font-size: 0.65rem; margin: 0; }
#header .blockcart .header a { position: relative; display: inline-flex; align-items: center; }
#header .blockcart .cart-products-count {
  position: absolute;
  top: -6px;
  right: -10px;
  background: var(--andrex-primary);
  color: var(--andrex-primary-foreground) !important;
  font-size: 0.6rem;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  line-height: 16px;
  text-align: center;
  border-radius: 50%;
  padding: 0 3px;
}
/* Ten sam kolor ikony i licznika także przy pustym koszyku */
#header .blockcart .header,
#header .blockcart .header .material-icons { color: var(--andrex-foreground) !important; }
#header .blockcart .header a:hover .material-icons { color: var(--andrex-primary-hover) !important; }
#header .ps_mainmenu,
#header .blockcart,
#header .user-info,
#header .block_currencies,
#header .block_languages { display: inline-flex !important; align-items: center; }
.andrex-contact-top { font-size: 0.875rem; color: var(--andrex-muted-foreground); }
.andrex-contact-top a { color: var(--andrex-primary); font-weight: 500; }
.andrex-nav-link {
  color: var(--andrex-foreground);
  font-weight: 500;
  transition: color 0.2s;
}
.andrex-nav-link:hover { color: var(--andrex-primary-hover); }
.andrex-cat-link {
  color: var(--andrex-secondary-foreground);
  font-weight: 500;
  white-space: nowrap;
  transition: color 0.2s;
}
.andrex-cat-link:hover { color: var(--andrex-primary-hover); }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }
.scrollbar-hide::-webkit-scrollbar { display: none; }
.max-w-3xl { max-width: 48rem; }
.max-w-2xl { max-width: 42rem; }

/* btn-link - Andrex gold on hover */
.btn-link {
  color: #333;
}
.btn-link:hover {
  color: #efb506;
}

/* Primary buttons */
.btn-primary, .btn.btn-primary {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
}
.btn-primary:hover, .btn.btn-primary:hover {
  background: #dfab00 !important;
  border-color: #dfab00 !important;
}
.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(223, 171, 0, 0.5) !important;
}

/* === Nadpisanie niebieskich poświat Bootstrap (buttons.scss, forms.scss itd.) === */
/* Zamiast rgba(0,123,255,.25) używamy Andrex gold */
.btn {
  height: auto !important;
}

.btn.focus,
.btn:focus,
.btn-secondary.focus,
.btn-secondary:focus,
.btn-success.focus,
.btn-success:focus,
.btn-info.focus,
.btn-info:focus,
.btn-warning.focus,
.btn-warning:focus,
.btn-danger.focus,
.btn-danger:focus,
.btn-light.focus,
.btn-light:focus,
.btn-dark.focus,
.btn-dark:focus,
.btn-outline-primary.focus,
.btn-outline-primary:focus,
.btn-outline-secondary.focus,
.btn-outline-secondary:focus,
.btn-outline-success.focus,
.btn-outline-success:focus,
.btn-outline-info.focus,
.btn-outline-info:focus,
.btn-outline-warning.focus,
.btn-outline-warning:focus,
.btn-outline-danger.focus,
.btn-outline-danger:focus,
.btn-outline-light.focus,
.btn-outline-light:focus,
.btn-outline-dark.focus,
.btn-outline-dark:focus {
  outline: 0 !important;
  box-shadow: 0 0 0 0.2rem rgba(223, 171, 0, 0.4) !important;
}

.form-control:focus,
.form-control.focus,
.custom-select:focus,
.custom-select.focus,
.custom-range:focus,
.input-group-text:focus,
.page-link:focus,
.dropdown-item:focus,
.list-group-item-action:focus,
.custom-control-input:focus ~ .custom-control-label::before,
.custom-file-input:focus ~ .custom-file-label,
.nav-link:focus,
.navbar-toggler:focus,
.close:focus,
.badge:focus {
  outline: 0 !important;
  box-shadow: 0 0 0 0.2rem rgba(223, 171, 0, 0.4) !important;
}

/* input-group: focus na form-control rozlewa się na cały group */
.input-group .form-control:focus,
.input-group .custom-select:focus {
  box-shadow: 0 0 0 0.2rem rgba(223, 171, 0, 0.4) !important;
}

/* === Hamburger button - tylko na mobile === */
.andrex-hamburger {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: var(--andrex-foreground);
  align-items: center;
  justify-content: center;
  margin: 0;
}
@media (min-width: 992px) {
  .andrex-hamburger-wrapper,
  .andrex-hamburger { display: none !important; }
}
@media (max-width: 991px) {
  .andrex-hamburger-wrapper { display: block !important; }
  .andrex-hamburger { display: flex !important; }
}
.andrex-hamburger:hover { color: var(--andrex-primary-hover); }
.andrex-hamburger.andrex-hamburger-active svg { transform: rotate(90deg); }

/* === Category Menu - AndrexTools style === */
.andrex-category-menu {
  background: var(--andrex-secondary);
  border-bottom: 1px solid var(--andrex-border);
  overflow: hidden;
}
/* Mobile: menu full screen, hamburger otwiera */
@media (max-width: 991px) {
  .andrex-category-menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    max-width: 100%;
    height: 100vh;
    z-index: 10002;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
    overflow-y: auto;
    border-bottom: none;
    box-shadow: none;
    background: #1a1a1a;
  }
  .andrex-category-menu.andrex-cat-open {
    transform: translateX(0);
  }
  .andrex-category-menu .andrex-section-inner { padding: 1.25rem; padding-top: 3rem; position: relative; }
  .andrex-menu-close {
    position: absolute;
    top: 1.25rem;
    right: 1.25rem;
    background: rgba(255,255,255,0.1);
    border: none;
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #fff;
    transition: background 0.2s, color 0.2s;
  }
  .andrex-menu-close:hover {
    background: rgba(255,255,255,0.2);
    color: var(--andrex-primary-hover);
  }
  .andrex-category-menu .andrex-cat-links {
    flex-direction: column;
    align-items: stretch;
    padding: 0;
    gap: 0;
  }
  .andrex-category-menu .andrex-cat-item,
  .andrex-category-menu .andrex-cat-sublist li {
    width: 100%;
  }
  .andrex-category-menu .andrex-cat-link {
    width: 100%;
    padding: 1rem 1.25rem;
    min-height: 44px;
    box-sizing: border-box;
    color: #fff !important;
    font-weight: 600;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(255,255,255,0.1);
  }
  .andrex-category-menu .andrex-cat-link:not(.andrex-cat-link-parent) {
    justify-content: flex-start;
  }
  .andrex-category-menu .andrex-cat-link:hover,
  .andrex-category-menu .andrex-cat-item.andrex-cat-open > .andrex-cat-link {
    color: var(--andrex-primary) !important;
  }
  .andrex-category-menu .andrex-cat-sublist li {
    width: 100%;
  }
  .andrex-category-menu .andrex-cat-sublink {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    color: #fff !important;
    padding: 0.85rem 1.25rem;
    min-height: 44px;
    box-sizing: border-box;
    font-weight: 500;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(255,255,255,0.1);
  }
  .andrex-category-menu .andrex-cat-sublink:hover {
    color: var(--andrex-primary-hover) !important;
  }
  /* Nadpisanie #andrex-cat-menu … .andrex-cat-dropdown a (ciemny foreground z desktopu) */
  #andrex-cat-menu.andrex-category-menu .andrex-cat-dropdown a.andrex-cat-sublink,
  #andrex-cat-menu.andrex-category-menu .andrex-mainmenu-links .andrex-cat-dropdown a {
    color: #fff !important;
  }
  #andrex-cat-menu.andrex-category-menu .andrex-cat-dropdown a.andrex-cat-sublink:hover,
  #andrex-cat-menu.andrex-category-menu .andrex-mainmenu-links .andrex-cat-dropdown a:hover {
    color: var(--andrex-primary-hover) !important;
    background-color: transparent !important;
  }
  .andrex-category-menu .andrex-cat-chevron {
    flex-shrink: 0;
    margin-left: 0.5rem;
    opacity: 1;
    transition: transform 0.2s;
  }
  .andrex-category-menu .andrex-cat-item.andrex-cat-open .andrex-cat-chevron {
    transform: rotate(180deg);
  }
  .andrex-mobile-main-nav {
    display: flex;
    flex-direction: column;
  }
  .andrex-mobile-main-nav .andrex-mobile-nav-link {
    width: 100%;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
    padding: 1rem 1.25rem;
    min-height: 44px;
    box-sizing: border-box;
    color: #fff !important;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.2s;
    cursor: pointer;
    -webkit-tap-highlight-color: rgba(255,255,255,0.1);
  }
  .andrex-mobile-main-nav .andrex-mobile-nav-link:hover {
    color: var(--andrex-primary-hover) !important;
  }
}
@media (min-width: 992px) {
  .andrex-menu-close { display: none !important; }
}
@media (min-width: 992px) {
  .andrex-mobile-main-nav { display: none !important; }
}
.andrex-cat-backdrop {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  z-index: 10001;
  cursor: pointer;
}
.andrex-cat-backdrop.andrex-cat-backdrop-visible {
  display: block;
}
@media (min-width: 992px) {
  .andrex-cat-backdrop { display: none !important; }
}
.andrex-category-menu::-webkit-scrollbar { display: none; }
.andrex-cat-links {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0;
  overflow-x: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
@media (min-width: 992px) {
  .andrex-cat-links {
    overflow: hidden;
  }
  .andrex-category-menu {
    overflow: visible;
  }
  /* Desktop section-inner = flex row with Więcej button */
  .andrex-category-menu .andrex-section-inner {
    display: flex;
    align-items: center;
    position: relative;
    overflow: visible;
  }
  .andrex-cat-links {
    flex: 1 1 auto;
    overflow: hidden !important;
    -webkit-mask-image: linear-gradient(to right, #000 85%, transparent 100%);
    mask-image: linear-gradient(to right, #000 85%, transparent 100%);
  }
  .andrex-cat-links.no-overflow {
    overflow: hidden !important;
    -webkit-mask-image: none;
    mask-image: none;
  }
  /* "Więcej" button */
  .andrex-cat-more-btn {
    flex: 0 0 auto;
    background: var(--andrex-primary);
    color: #fff;
    border: none;
    border-radius: var(--andrex-radius);
    padding: 4px 14px;
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    white-space: nowrap;
    margin-left: 8px;
    transition: background 0.2s;
  }
  .andrex-cat-more-btn:hover {
    background: var(--andrex-primary-hover);
  }
}
/* Full-screen menu overlay — works on ALL viewports when andrex-cat-open is set */
.andrex-category-menu.andrex-cat-open {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100vh !important;
  z-index: 10002 !important;
  transform: translateX(0) !important;
  overflow-y: auto !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background: #1a1a1a !important;
}
.andrex-category-menu.andrex-cat-open .andrex-section-inner {
  display: block !important;
  padding: 1rem 1.25rem !important;
  padding-top: 1.5rem !important;
  position: relative !important;
  margin: 0 auto;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-links {
  display: block !important;
  overflow: visible !important;
  -webkit-mask-image: none !important;
  mask-image: none !important;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-more-btn {
  display: none !important;
}
.andrex-category-menu.andrex-cat-open .andrex-menu-close {
  display: flex !important;
  position: absolute;
  top: 1.25rem;
  right: 1.25rem;
  background: rgba(255,255,255,0.1);
  border: none;
  border-radius: 50%;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  color: #fff;
  cursor: pointer;
  z-index: 10;
}
.andrex-category-menu.andrex-cat-open .andrex-mobile-main-nav {
  display: flex !important;
  flex-direction: column;
  gap: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}
/* Te same odstępy i separatory co pozycje kategorii (.andrex-cat-link w overlay) */
.andrex-category-menu.andrex-cat-open .andrex-mobile-nav-link {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  box-sizing: border-box;
  padding: 0.55rem 0 !important;
  min-height: 0;
  margin: 0;
  color: #fff !important;
  font-weight: 600;
  font-size: 0.9rem !important;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  transition: color 0.2s;
  -webkit-tap-highlight-color: rgba(255, 255, 255, 0.1);
}
.andrex-category-menu.andrex-cat-open .andrex-mobile-main-nav .andrex-mobile-nav-link:last-child {
  border-bottom: none;
}
.andrex-category-menu.andrex-cat-open .andrex-mobile-nav-link:hover {
  color: var(--andrex-primary) !important;
}
/* Vertical layout for menu items */
.andrex-category-menu.andrex-cat-open .andrex-mainmenu-links {
  display: flex !important;
  flex-direction: column !important;
  gap: 0 !important;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-item {
  display: block !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.andrex-category-menu.andrex-cat-open .andrex-cat-link,
.andrex-category-menu.andrex-cat-open .andrex-cat-link-parent {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  padding: 0.55rem 0 !important;
  font-size: 0.9rem !important;
  color: #fff !important;
  white-space: normal !important;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-link:hover {
  color: var(--andrex-primary) !important;
}
/* Dropdown in vertical overlay */
.andrex-category-menu.andrex-cat-open .andrex-cat-dropdown {
  display: none !important;
  position: static !important;
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding-left: 1rem !important;
  padding-bottom: 0.5rem !important;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-item.andrex-cat-open .andrex-cat-dropdown {
  display: block !important;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-sublist {
  list-style: none;
  padding: 0;
  margin: 0;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-sublink {
  display: block;
  padding: 0.5rem 0;
  color: #fff !important;
  font-size: 0.9rem !important;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-sublink:hover {
  color: var(--andrex-primary) !important;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-chevron {
  transition: transform 0.2s;
  color: rgba(255,255,255,0.5);
}
.andrex-category-menu.andrex-cat-open .andrex-cat-item.andrex-cat-open .andrex-cat-chevron {
  transform: rotate(180deg);
}
.andrex-cat-links::-webkit-scrollbar { display: none; }
#andrex-cat-menu.andrex-category-menu a {
  color: var(--andrex-secondary-foreground);
  font-weight: 500;
  white-space: nowrap;
  padding: 0.5rem 0.4rem;
  font-size: 14px;
  transition: color 0.2s;
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
}
#andrex-cat-menu.andrex-category-menu a:hover { color: var(--andrex-primary-hover); }
.andrex-cat-chevron { opacity: 0.7; flex-shrink: 0; }
/* ChevronDown for ps_mainmenu in category bar */
#andrex-cat-menu.andrex-category-menu #block_top_menu .category > a,
#andrex-cat-menu.andrex-category-menu .top-menu > li > a {
  display: inline-flex !important;
  align-items: center;
  gap: 0.25rem;
}
/* Andrex Main Menu module */
.andrex-mainmenu-links {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0;
  padding: 0;
}
.andrex-mainmenu-links .andrex-cat-item {
  display: inline-flex;
  align-items: center;
  position: relative;
}
.andrex-mainmenu-links .andrex-cat-link {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
}
.andrex-mainmenu-links .andrex-cat-dropdown {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  width: max-content;
  background: #fff;
  border: 1px solid rgba(0,0,0,0.1);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  z-index: 100;
  padding: 0.5rem 0;
}
.andrex-mainmenu-links .andrex-cat-item:hover .andrex-cat-dropdown {
  display: block;
}
.andrex-mainmenu-links .andrex-cat-sublist {
  list-style: none;
  margin: 0;
  padding: 0;
}
.andrex-mainmenu-links .andrex-cat-sublist li {
  margin: 0;
}
#andrex-cat-menu.andrex-category-menu .andrex-cat-dropdown a,
.andrex-mainmenu-links .andrex-cat-sublink {
  display: block;
  width: 100%;
  padding: 0.5rem 1rem;
  white-space: nowrap;
  color: var(--andrex-foreground) !important;
  transition: color 0.2s, background-color 0.2s;
  box-sizing: border-box;
}
.andrex-category-menu.andrex-cat-open .andrex-cat-dropdown a,
.andrex-category-menu.andrex-cat-open .andrex-cat-sublink {
  color: #fff !important;
}
.andrex-mainmenu-links .andrex-cat-sublink:hover {
  color: var(--andrex-primary-hover) !important;
  background-color: var(--andrex-muted);
}
@media (max-width: 991px) {
  .andrex-mainmenu-links {
    flex-direction: column;
    flex-wrap: nowrap;
    gap: 0;
  }
  .andrex-mainmenu-links .andrex-cat-item {
    display: block;
    width: 100%;
  }
  .andrex-mainmenu-links .andrex-cat-dropdown {
    position: static;
    display: none;
    border: none;
    box-shadow: none;
    padding: 0;
  }
  .andrex-mainmenu-links .andrex-cat-item.andrex-cat-open .andrex-cat-dropdown {
    display: block;
  }
}

/* === Hero Section - GitHub Index.tsx 1:1 === */
.andrex-hero {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  background: linear-gradient(to bottom right, var(--andrex-muted), rgba(244,244,244,0.8), var(--andrex-background));
  padding: 4rem 0;
  position: relative;
  overflow: hidden;
}
@media (max-width: 991px) {
  .andrex-hero {
    padding: 2rem 0;
    overflow-x: hidden;
    overflow-y: visible;
  }
}
.andrex-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: 
    linear-gradient(rgba(0,0,0,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0,0,0,0.03) 1px, transparent 1px);
  background-size: 24px 24px;
  opacity: 0.5;
  pointer-events: none;
}
.andrex-hero-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 1rem;
}
@media (min-width: 576px) {
  .andrex-hero-inner { padding: 0 1.5rem; }
}
@media (min-width: 992px) {
  .andrex-hero-inner { padding: 0 2rem; }
}

/* Andrex section inner - replaces Bootstrap container for all Andrex sections */
.andrex-section-inner {
  width: 100%;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 15px;
}

/* Features grid - replaces Bootstrap row/col-md-4 */
.andrex-features-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}
@media (min-width: 768px) {
  .andrex-features-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
.andrex-feature-item {
  margin: 0;
  min-width: 0;
}
.andrex-feature-desc,
.andrex-feature-desc p {
  color: #fff;
}

.andrex-hero-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3rem;
  align-items: center;
  min-height: 600px;
  padding: 4rem 0;
}
@media (max-width: 991px) {
  .andrex-hero-row {
    grid-template-columns: 1fr;
    min-height: auto;
    padding: 2rem 0;
    text-align: center;
    justify-items: center;
  }
  .andrex-hero-row > div:first-child {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
  .andrex-hero-row .andrex-hero-btns {
    justify-content: center;
  }
  .andrex-hero-row .andrex-hero-trust {
    justify-content: center;
  }
}
.andrex-hero-badge {
  display: inline-block;
  padding: 0.5rem 1rem;
  background: rgba(250, 204, 21, 0.9);
  color: #1a1a1a;
  border-radius: 9999px;
  font-size: 0.875rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
}
.andrex-hero h1 {
  font-size: clamp(2.5rem, 5vw, 3.75rem);
  font-weight: 700;
  line-height: 1.1;
  color: var(--andrex-foreground);
  margin-bottom: 1rem;
}
@media (min-width: 992px) {
  .andrex-hero h1 { font-size: 3.75rem; }
}
.andrex-hero h1 .text-primary { color: var(--andrex-primary) !important; }
.andrex-hero-desc {
  font-size: 1.25rem;
  color: var(--andrex-muted-foreground);
  margin-bottom: 1.5rem;
  line-height: 1.6;
}
.andrex-hero-btns { display: flex; flex-wrap: wrap; gap: 1rem; margin-bottom: 2rem; }
.andrex-hero-btns .btn { padding: 0.75rem 1.5rem; font-weight: 600; }
.andrex-hero-trust {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem;
  align-items: center;
}
.andrex-hero-trust .trust-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: var(--andrex-muted-foreground);
}
.andrex-hero-trust .trust-icon {
  width: 1.25rem;
  height: 1.25rem;
  color: var(--andrex-primary);
}
.andrex-hero-img img {
  width: 100%;
  height: auto;
  border-radius: 1rem;
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
}

/* === Features - AndrexTools gradient overlay cards === */
.andrex-features { padding: 5rem 0; background-color: #fff; overflow-x: hidden; }
.andrex-features h2 {
  font-size: 1.875rem;
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.25rem;
}
.andrex-features .subtitle {
  font-size: 1.125rem;
  color: var(--andrex-muted-foreground);
  text-align: center;
  max-width: 42rem;
  margin: 0 auto 3rem;
}
.andrex-feature-card {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
  aspect-ratio: 4/3.2;
  min-height: 300px;
  width: 100%;
  min-width: 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #e5e5e5;
}
.andrex-feature-card-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.9), rgba(0,0,0,0.5), transparent);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 1.5rem;
  overflow-y: auto;
  overflow-x: hidden;
  min-width: 0;
  box-sizing: border-box;
}
.andrex-feature-card-overlay .andrex-feature-icon,
.andrex-feature-card-overlay h3,
.andrex-feature-card-overlay .andrex-feature-desc {
  min-width: 0;
}
.andrex-feature-desc {
  flex-shrink: 0;
  font-size: 0.9rem;
  line-height: 1.45;
  margin-top: 0.25rem;
  width: 100%;
  overflow-wrap: break-word;
  word-wrap: break-word;
  box-sizing: border-box;
}
.andrex-feature-desc p {
  max-width: 100%;
}
.andrex-feature-icon {
  width: 3rem;
  height: 3rem;
  background: var(--andrex-primary);
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.andrex-feature-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--andrex-primary-foreground);
  stroke: currentColor;
}
.andrex-feature-card h3 { font-size: 1.25rem; font-weight: 700; color: #fff; margin-bottom: 0.5rem; }
.andrex-feature-card p { color: rgba(255,255,255,0.8); margin: 0; font-size: 0.9rem; }

/* === Section headers === */
.andrex-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 0;
  flex-wrap: wrap;
  gap: 1rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
.andrex-section-header h2 { font-size: 1.875rem; font-weight: 700; margin-bottom: 0.5rem; color: #333; }
.andrex-section-header p { color: var(--andrex-muted-foreground); margin: 0; }
.andrex-section-header a {
  color: var(--andrex-primary);
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
.andrex-section-header a:hover { text-decoration: underline; }

/* === Product cards - AndrexTools ProductCard === */
.andrex-product-card {
  height: 100%;
  background: var(--andrex-card);
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  overflow: hidden;
  transition: box-shadow 0.3s;
}
.andrex-product-card:hover { box-shadow: none; }
.js-product.product { margin-bottom: 30px; }
.andrex-product-card .img-wrap {
  position: relative;
  aspect-ratio: 1;
  background: var(--andrex-muted);
  overflow: hidden;
}
.andrex-product-card .img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 2rem;
  transition: transform 0.3s;
}
.andrex-product-card .badge-bestseller {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  background: var(--andrex-primary);
  color: var(--andrex-primary-foreground);
  padding: 0.25rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 700;
  border-radius: 4px;
  z-index: 1;
}
.andrex-product-card .card-body { padding: 1rem; }
.andrex-product-card .category { font-size: 0.75rem; color: var(--andrex-muted-foreground); text-transform: uppercase; letter-spacing: 0.05em; }
.andrex-product-card h3 { font-size: 1rem; font-weight: 600; margin: 0.25rem 0; line-height: 1.4; }
.andrex-product-card .specs { font-size: 0.75rem; color: var(--andrex-muted-foreground); margin: 0.5rem 0; }
.andrex-product-card .price-row { display: flex; align-items: center; justify-content: space-between; padding-top: 0.5rem; }
.andrex-product-card .price { font-size: 1.5rem; font-weight: 700; }
.andrex-product-card .price-netto { font-size: 0.75rem; color: var(--andrex-muted-foreground); }
.andrex-product-card .btn-cart {
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  background: var(--andrex-primary);
  color: var(--andrex-primary-foreground);
  border: none;
  border-radius: var(--andrex-radius);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* === CTA Banner === */
.andrex-cta-banner {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  padding: 5rem 0;
  background: #facc15;
  text-align: center;
}
.andrex-cta-banner h2 { font-size: 1.875rem; font-weight: 700; color: #374151; margin-bottom: 0.25rem; }
.andrex-cta-banner p { font-size: 1.25rem; color: #374151; margin-bottom: 2rem; }
.andrex-cta-btns { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; }
.andrex-cta-banner .btn { margin: 0 0.5rem; }
.andrex-cta-btn-phone {
  background-color: #000;
  color: #fff;
  border: none;
  font-weight: 500;
}
.andrex-cta-btn-phone:hover {
  background: #fde047 !important;
  color: #374151 !important;
}
.andrex-cta-btn-write {
  background: #fff !important;
  color: #eab308 !important;
  font-weight: 600;
  border: none;
}
.andrex-cta-btn-write:hover {
  background: #dfab00 !important;
  border-color: #dfab00 !important;
}

/* === Contact modal === */
.andrex-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 1rem;
  overflow-y: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
}
.andrex-modal.is-open {
  opacity: 1;
  visibility: visible;
}
.andrex-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.5);
  cursor: pointer;
}
.andrex-modal-content {
  position: relative;
  width: 100%;
  max-width: 36rem;
  margin: 0 auto;
  background: #fff;
  border-radius: var(--andrex-radius);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
  z-index: 1;
}
.andrex-modal-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  background: none;
  border: none;
  color: var(--andrex-foreground);
  cursor: pointer;
  padding: 0.5rem;
  transition: opacity 0.2s;
}
.andrex-modal-close:hover { opacity: 0.7; }
.andrex-modal-inner { padding: 1.25rem; }
.andrex-modal-title { font-size: 1.5rem; font-weight: 700; margin-bottom: 1rem; }

/* === Contact form (Andrex style) === */
.andrex-contact-form .andrex-form-fields { display: flex; flex-direction: column; gap: 0.3rem; }
.andrex-contact-form .andrex-form-group {
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  margin-bottom: 0.4rem;
}
.andrex-contact-form .andrex-form-label {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  text-align: left;
  margin-bottom: 0.1rem;
}
.andrex-contact-form .andrex-form-control {
  width: 100%;
  padding: 0.5rem 0.75rem;
  font-size: 1rem;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  background: var(--andrex-card);
  color: var(--andrex-foreground);
  transition: border-color 0.2s;
}
.andrex-contact-form .andrex-form-control:focus {
  outline: none;
  border-color: var(--andrex-primary);
  box-shadow: 0 0 0 3px rgba(250, 204, 21, 0.2);
}
.andrex-contact-form .andrex-form-control::placeholder {
  color: var(--andrex-muted-foreground);
}
.andrex-contact-form .andrex-terms-label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-weight: 500;
  cursor: pointer;
}
.andrex-contact-form .andrex-terms-label input[type="checkbox"] {
  width: auto;
  margin-top: 0.2rem;
  flex-shrink: 0;
}
.andrex-contact-form textarea.andrex-form-control {
  min-height: 6rem;
  resize: vertical;
}
.andrex-contact-form .andrex-form-hint {
  font-size: 0.8125rem;
  color: var(--andrex-muted-foreground);
  margin-top: 0.25rem;
}
.andrex-contact-form .andrex-form-footer {
  margin-top: 0;
  padding-top: 0;
  text-align: center;
}
.andrex-contact-form .andrex-btn-submit {
  padding: 0.75rem 1.5rem;
  font-weight: 600;
  border-radius: var(--andrex-radius);
}
.andrex-contact-form .alert { border-radius: var(--andrex-radius); }
.andrex-contact-form .alert ul { margin: 0; padding-left: 1.25rem; }

/* === Brands Section === */
.andrex-brands {
  background: #fff;
  padding: 3.5rem 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  position: relative;
  overflow: hidden;
}
.andrex-brands h2 { font-size: 1.5rem; font-weight: 700; text-align: center; margin-bottom: 3rem; color: #000; }
.andrex-brands-carousel .owl-stage { display: flex; align-items: stretch; }
.andrex-brands-carousel .owl-item { display: flex; justify-content: center; }
.andrex-brands-item {
  margin: 3px;
  min-height: 7rem;
  padding: 1rem;
  background: var(--andrex-card);
  border-radius: var(--andrex-radius);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-weight: 700;
  font-size: 0.875rem;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.2s, transform 0.2s;
}
.andrex-brands-item:hover {
  transform: translateY(-2px);
}
.andrex-brands-logo {
  object-fit: contain;
}
.andrex-brands-name {
  text-align: center;
  line-height: 1.2;
}

/* === Newsletter === */
.andrex-newsletter {
  padding: 5rem 0;
  background: linear-gradient(to bottom right, var(--andrex-secondary), var(--andrex-background), var(--andrex-secondary));
  text-align: center;
}
.andrex-newsletter-icon {
  width: 3rem;
  height: 3rem;
  background: rgba(250, 204, 21, 0.1);
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.andrex-newsletter h2 { font-size: 1.875rem; font-weight: 700; margin-bottom: 1rem; }
.andrex-newsletter p { color: var(--andrex-muted-foreground); font-size: 1.125rem; margin-bottom: 2rem; }
.andrex-newsletter-form { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: center; max-width: 28rem; margin: 0 auto 1.5rem; }
.andrex-newsletter-form input {
  flex: 1;
  min-width: 200px;
  height: 3rem;
  padding: 0 1rem;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  background: var(--andrex-card);
}

/* === Payment Methods === */
.andrex-payment {
  padding: 3rem 0;
  border-top: 1px solid var(--andrex-border);
  border-bottom: 1px solid var(--andrex-border);
  background: var(--andrex-card);
}
.andrex-payment p { text-align: center; color: var(--andrex-muted-foreground); font-weight: 500; margin-bottom: 1.5rem; }
.andrex-payment-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem;
}
.andrex-payment-item {
  width: 5rem;
  height: 3rem;
  background: var(--andrex-muted);
  border-radius: var(--andrex-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  font-weight: 700;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}

/* === Footer - AndrexTools 5 columns md:grid-cols-5 === */
.footer-container {
  background: var(--andrex-secondary) !important;
  color: var(--andrex-secondary-foreground);
  padding: 4rem 0 2rem !important;
  border-top: 0;
}
/* Grid 5 kolumn - AndrexTools design */
.andrex-footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2rem;
  margin-bottom: 2rem;
}
@media (min-width: 576px) {
  .andrex-footer-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 992px) {
  .andrex-footer-grid {
    grid-template-columns: repeat(5, 1fr);
    gap: 2.5rem;
  }
}
.andrex-footer-col {
  min-width: 0;
}
.andrex-footer-text {
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.9);
  margin-bottom: 0.5rem;
}
.andrex-footer-social {
  display: flex;
  gap: 0.5rem;
  margin-top: 1rem;
}
.andrex-footer-social-btn {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: rgba(250, 204, 21, 0.25);
  color: var(--andrex-primary) !important;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.footer-container .andrex-footer-social-btn:hover {
  background: var(--andrex-primary-hover);
  color: hsl(0, 0%, 20%) !important;
}
.andrex-footer-cta {
  color: var(--andrex-primary) !important;
  font-weight: 500;
  font-size: 0.875rem;
  text-decoration: none;
}
.andrex-footer-cta:hover {
  color: var(--andrex-primary-hover) !important;
  text-decoration: underline;
}
/* PrestaShop hooks - linklist, legal - dopasowane do stylu */
.andrex-footer-hooks {
  margin-top: 2rem;
}
.andrex-footer-hooks .links .wrapper,
.andrex-footer-hooks .col-md-6 {
  margin-bottom: 1rem;
}
.andrex-footer-hooks .h3,
.andrex-footer-hooks h3 {
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  margin-bottom: 0.75rem;
}
.andrex-footer-hooks ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.andrex-footer-hooks li { margin-bottom: 0.5rem; }
.andrex-footer-hooks a {
  color: rgba(255, 255, 255, 0.9) !important;
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.2s;
}
.andrex-footer-hooks a:hover {
  color: var(--andrex-primary-hover) !important;
  text-decoration: underline;
}
/* Usunięto nadpisanie .row.mb-4 - Bootstrap grid działa natywnie */
.footer-container h4 {
  font-weight: 600;
  margin-bottom: 1rem;
  font-size: 1rem;
  color: #fff;
}
.footer-container ul { list-style: none; padding: 0; margin: 0; }
.footer-container li { margin-bottom: 0.5rem; }
.footer-container a {
  color: rgba(255, 255, 255, 0.9) !important;
  text-decoration: none;
  font-size: 0.875rem;
  transition: color 0.2s;
}
.footer-container a:hover {
  color: var(--andrex-primary-hover) !important;
  text-decoration: underline;
}
.footer-container .footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.25);
  padding-top: 2rem;
  margin-top: 2rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.8);
}
.footer-container .footer-bottom a[href*="iarea"] {
  color: var(--andrex-primary) !important;
  font-weight: 500;
  text-decoration: none;
}
.footer-container .footer-bottom a[href*="iarea"]:hover {
  color: var(--andrex-primary-hover) !important;
  text-decoration: underline;
}

/* === Page sections bg === */
.andrex-section-muted {
  background: #FAFAFA;
  padding: 0.5rem 0 2rem 0;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  position: relative;
  overflow: hidden;
}
.andrex-section-bg { background: var(--andrex-background); padding: 5rem 0; }
/* Products - Bootstrap row/col działa natywnie, tylko wyrównanie wysokości kart */
.andrex-section-muted .product-miniature.andrex-product-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.andrex-section-muted .product-miniature.andrex-product-card .thumbnail-container {
  flex-shrink: 0;
}
.andrex-section-muted .product-miniature.andrex-product-card .product-description {
  flex: 1;
  display: flex;
  flex-direction: column;
}
.andrex-section-muted .product-miniature.andrex-product-card .andrex-price-row {
  margin-top: auto;
}

/* === Produkty powiązane (strona produktu) === */
.andrex-related-products {
  padding: 2rem 15px;
  margin-top: 0;
  border-top: 1px solid #e5e5e5;
}

.andrex-related-header {
  margin-bottom: 1.5rem;
}
.andrex-related-header h2 {
  font-size: 1.875rem;
  font-weight: 500;
  color: var(--andrex-foreground);
  margin-bottom: 0.5rem;
}
.andrex-related-subtitle {
  font-size: 1rem;
  color: var(--andrex-muted-foreground);
  margin: 0;
}
.andrex-related-products.andrex-section-muted .js-product.product {
  margin-bottom: 0;
  padding: 0;
}
.andrex-related-products .product-miniature.andrex-product-card .thumbnail-container {
  background: var(--andrex-card);
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
/* Owl Carousel - produkty powiązane */
.andrex-related-carousel.owl-carousel {
  position: relative;
}
.andrex-related-carousel.owl-carousel .owl-stage {
  display: flex;
  align-items: stretch;
}
.andrex-related-carousel.owl-carousel .owl-item {
  display: flex;
}
.andrex-related-carousel.owl-carousel .owl-item .item {
  width: 100%;
  padding: 0;
}
.andrex-related-carousel.owl-carousel .owl-nav button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: var(--andrex-card) !important;
  border: 1px solid var(--andrex-border) !important;
  border-radius: var(--andrex-radius);
  width: 2.5rem;
  height: 2.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--andrex-foreground);
}
.andrex-related-carousel.owl-carousel .owl-nav button:hover {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground);
}
.andrex-related-carousel.owl-carousel .owl-nav .owl-prev {
  left: -1rem;
}
.andrex-related-carousel.owl-carousel .owl-nav .owl-next {
  right: -1rem;
}
.andrex-related-carousel.owl-carousel .owl-dots,
.andrex-brands-carousel.owl-carousel .owl-dots {
  display: none;
}
/* Pokazuj produkty od razu (przed inicjalizacją Owl) - unikaj migania */
#andrex-related-carousel.andrex-related-carousel:not(.owl-loaded) {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}
#andrex-related-carousel.andrex-related-carousel:not(.owl-loaded) .item {
  min-width: 0;
}
/* Fallback gdy Owl Carousel nie załaduje się - produkty jako grid */
.andrex-related-carousel.andrex-related-fallback {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 1rem;
}
.andrex-related-carousel.andrex-related-fallback .item {
  min-width: 0;
}

/* === Sekcja kontaktu na stronie produktu === */
.andrex-product-contact {
  padding: 3rem 0;
  margin-top: 2rem;
}
.andrex-product-contact-row { align-items: stretch; }
.andrex-product-contact-card {
  background: var(--andrex-card);
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.andrex-product-contact-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  margin-bottom: 0.5rem;
}
.andrex-product-contact-desc {
  font-size: 0.9375rem;
  color: var(--andrex-muted-foreground);
  margin-bottom: 1.5rem;
  line-height: 1.5;
}
.andrex-product-contact-items { display: flex; flex-direction: column; gap: 1rem; }
.andrex-product-contact-item {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
}
.andrex-product-contact-icon {
  width: 2.5rem;
  height: 2.5rem;
  min-width: 2.5rem;
  background: rgba(250, 199, 46, 0.15);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--andrex-primary);
}
.andrex-product-contact-icon svg { flex-shrink: 0; }
.andrex-product-contact-label {
  display: block;
  font-size: 0.75rem;
  color: var(--andrex-muted-foreground);
  margin-bottom: 0.25rem;
}
.andrex-product-contact-item a,
.andrex-product-contact-item span {
  font-size: 1rem;
  color: var(--andrex-foreground);
}
.andrex-product-contact-item a:hover { color: var(--andrex-primary-hover); }
.andrex-product-contact-form-wrap .andrex-contact-form { margin: 0; }
.andrex-product-contact-form-wrap .andrex-btn-submit {
  width: 100%;
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}
.andrex-product-contact-form-wrap .andrex-btn-submit:hover {
  background: var(--andrex-primary-hover) !important;
  border-color: var(--andrex-primary-hover) !important;
}

/* === Contact page === */
.andrex-contact-hero {
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  background: linear-gradient(to bottom right, var(--andrex-secondary), var(--andrex-background), var(--andrex-secondary));
  padding: 4rem 0;
  border-bottom: 1px solid var(--andrex-border);
  text-align: center;
}
.andrex-contact-hero h1 { font-size: 2.5rem; font-weight: 700; margin-bottom: 1rem; }
.andrex-contact-hero p { font-size: 1.25rem; color: var(--andrex-muted-foreground); }
.andrex-contact-cards .card {
  border: 1px solid var(--andrex-border);
  transition: border-color 0.2s;
}
.andrex-contact-cards .card:hover { border-color: rgba(250, 204, 21, 0.5); }
.andrex-contact-icon {
  width: 3rem;
  height: 3rem;
  background: rgba(250, 204, 21, 0.1);
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1rem;
}
.andrex-contact-icon svg {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--andrex-primary);
}
.andrex-contact-card { border: 1px solid var(--andrex-border) !important; transition: border-color 0.2s; }
.andrex-contact-card:hover { border-color: rgba(250, 204, 21, 0.5) !important; }
.andrex-contact-card a {
  color: var(--andrex-foreground);
  text-decoration: none;
  transition: color 0.2s;
}
.andrex-contact-card a:hover {
  color: var(--andrex-primary);
  text-decoration: none;
}

/* === Cart page - AndrexTools 1:1 === */
.andrex-cart-page {
  margin-top: 20px;
}
.andrex-cart-page .andrex-page-title {
  font-size: 1rem;
  font-weight: 700;
  color: var(--andrex-foreground);
  margin-bottom: 2rem;
}
.andrex-cart-card {
  background: var(--andrex-card);
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
}
.andrex-cart-summary {
  position: sticky;
  top: 6rem;
  background: var(--andrex-card);
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
}
.andrex-cart-page .cart-summary .card-block h1,
.andrex-cart-page .cart-summary .card-block h2 {
  font-size: 1.125rem;
  font-weight: 600;
  margin-bottom: 1rem;
}
/* Cart - Bootstrap row/col działa natywnie */
/* Usuń separator hr z koszyka */
.andrex-cart-page .card-block hr.separator,
.andrex-cart-page hr.separator {
  display: none;
}
.andrex-cart-page .cart-detailed-actions .btn-primary {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
}
/* Cart empty state - AndrexTools Cart.tsx 1:1 */
.andrex-cart-page .no-items,
.andrex-cart-page .cart-overview .no-items {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 4rem 2rem;
  text-align: center;
}
.andrex-cart-page .cart-overview .no-items::before {
  content: '';
  display: block;
  width: 4rem;
  height: 4rem;
  margin-bottom: 1rem;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' stroke='%2394a3b8' viewBox='0 0 24 24'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M3 3h2l.4 2M7 13h10l4-8H5.4M7 13L5.4 5M7 13l-2.293 2.293c-.63.63-.184 1.707.707 1.707H17m0 0a2 2 0 100 4 2 2 0 000-4zm-8 2a2 2 0 11-4 0 2 2 0 014 0z'/%3E%3C/svg%3E") no-repeat center;
  opacity: 0.5;
}

/* === Product cards - AndrexTools ProductCard 1:1 === */
/* Cena i przycisk przypięte do dołu karty (widok siatki) */
.andrex-products-grid:not(.andrex-view-list) .products.row {
  align-items: stretch;
}
.andrex-products-grid:not(.andrex-view-list) .products .js-product {
  display: flex;
  flex-direction: column;
}
.andrex-products-grid:not(.andrex-view-list) .products .js-product .product-miniature.andrex-product-card {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.andrex-products-grid:not(.andrex-view-list) .products .product-miniature.andrex-product-card .thumbnail-container {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  height: 100%;
}
.andrex-products-grid:not(.andrex-view-list) .products .product-miniature.andrex-product-card .thumbnail-top {
  flex-shrink: 0;
}
.andrex-products-grid:not(.andrex-view-list) .products .product-miniature.andrex-product-card .product-description {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.andrex-products-grid:not(.andrex-view-list) .products .product-miniature.andrex-product-card .product-price-and-shipping,
.andrex-products-grid:not(.andrex-view-list) .products .product-miniature.andrex-product-card .andrex-price-row {
  margin-top: auto;
}
.product-miniature.andrex-product-card .thumbnail-top {
  position: relative;
  aspect-ratio: 1;
  background: #fff;
  overflow: hidden;
}
.product-miniature.andrex-product-card .product-thumbnail {
  display: block;
  height: 100%;
}
.product-miniature.andrex-product-card .product-thumbnail img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 10px;
  transition: transform 0.3s;
}
.product-miniature.andrex-product-card .product-description { padding: 1rem; }
.product-miniature .thumbnail-container {
  margin-bottom: 0;
}
.product-miniature .thumbnail-container:focus .product-description::after,
.product-miniature .thumbnail-container:hover .product-description::after { display: none; }
.product-miniature .product-price-and-shipping { text-align: left; }
.product-miniature.andrex-product-card .andrex-product-body { padding: 1rem; }
.product-miniature.andrex-product-card .andrex-product-category {
  font-size: 0.75rem;
  color: var(--andrex-muted-foreground);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin: 0 0 0.25rem;
}
.product-miniature.andrex-product-card .andrex-product-category a {
  color: inherit;
  text-decoration: none;
}
.product-miniature.andrex-product-card .andrex-product-category a:hover {
  color: var(--andrex-primary-hover);
}
.product-miniature.andrex-product-card .product-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0.25rem 0;
  line-height: 1.4;
  text-align: left;
}
.product-miniature.andrex-product-card a { text-decoration: none; }
.product-miniature.andrex-product-card a:hover { text-decoration: none; }
.product-miniature.andrex-product-card .product-title a { font-size: 1rem; color: var(--andrex-foreground); }
.product-miniature.andrex-product-card .product-title a:hover { color: var(--andrex-primary-hover); }
.product-miniature.andrex-product-card .andrex-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 0.5rem;
  gap: 0.5rem;
}
.product-miniature.andrex-product-card .andrex-price-row .price { font-size: 1.5rem; font-weight: 700; display: block; }
.product-miniature.andrex-product-card .andrex-price-netto {
  font-size: 0.75rem;
  color: var(--andrex-muted-foreground);
  margin: 0;
}
.product-miniature.andrex-product-card .andrex-btn-cart {
  width: 2rem;
  height: 2rem;
  padding: 0;
  background: var(--andrex-primary);
  color: var(--andrex-primary-foreground);
  border: none;
  border-radius: var(--andrex-radius);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: background 0.2s;
}
.product-miniature.andrex-product-card .andrex-btn-cart:hover {
  background: var(--andrex-primary-hover);
  color: var(--andrex-primary-foreground);
}
.product-miniature.andrex-product-card .andrex-btn-cart.andrex-btn-loading {
  pointer-events: none;
  opacity: 0.7;
}
.product-flags li.product-flag {
  margin-top: 0;
  background: #000;
  color: #fff;
  padding: 0.15rem 0.35rem;
  font-size: 0.65rem;
  font-weight: 600;
  border-radius: 4px;
}
.product-miniature .product-flags li.product-flag {
  min-height: 0;
  text-transform: none;
}
/* === Paginacja - styl z zaokrąglonymi przyciskami === */
.andrex-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 0;
}
.andrex-pagination .page-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}
.andrex-pagination .page-list li {
  margin: 0;
}
.andrex-pagination .page-list a,
.andrex-pagination .page-list .spacer {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0 0.75rem;
  border-radius: 0.375rem;
  font-size: 0.875rem;
  font-weight: 500;
  text-decoration: none;
  transition: background-color 0.15s, border-color 0.15s;
}
.andrex-pagination .page-list a:not(.disabled) {
  background: #fff;
  border: 1px solid #d1d5db;
  color: #374151;
}
.andrex-pagination .page-list a:not(.disabled):hover {
  background: #f9fafb;
  border-color: #9ca3af;
}
.andrex-pagination .page-list li.current a {
  background: var(--andrex-primary);
  border-color: var(--andrex-primary);
  color: var(--andrex-foreground);
}
.andrex-pagination .page-list a.disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.andrex-pagination .page-list .spacer {
  color: #6b7280;
  font-weight: 500;
}
.product-miniature.andrex-product-card .product-flags { top: 0.75rem; left: 0.75rem; }
.product-miniature.andrex-product-card .product-flag.bestseller,
.product-miniature.andrex-product-card .product-flag.on-sale {
  background: #000;
  color: #fff;
  padding: 0.15rem 0.35rem;
  font-size: 0.65rem;
  font-weight: 600;
  border-radius: 4px;
}

/* === Category listing - design jak w obrazku === */
.andrex-category-hero {
  background: linear-gradient(to bottom right, #f5f5f5, #fafafa, #f0f0f0);
  padding: 2rem 0;
  border-bottom: 1px solid rgba(224, 224, 224, 0.1);
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
  position: relative;
  left: 0;
}
.andrex-category-hero-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}
.andrex-category-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #333;
  margin-bottom: 0.25rem;
}
@media (min-width: 768px) {
  .andrex-category-title { font-size: 1.8rem; }
}
.andrex-category-count {
  color: #555;
  font-size: 0.9375rem;
  margin: 0;
}
.andrex-category-hero-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
}
.andrex-sort-dropdown {
  position: relative;
}
.andrex-sort-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1.25rem;
  background: #fff;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-weight: 500;
  color: #333;
  min-width: 11rem;
  justify-content: space-between;
  transition: border-color 0.2s, color 0.2s;
  text-align: left;
}
.andrex-sort-btn:hover {
  border-color: #9ca3af;
  color: #333;
}
.andrex-sort-chevron {
  flex-shrink: 0;
  opacity: 0.8;
  float: right;
}
.andrex-view-toggle {
  display: flex;
  border-radius: 9999px;
  overflow: hidden;
  border: 1px solid #d1d5db;
  background: #e5e7eb;
}
.andrex-view-btn {
  padding: 0.5rem 0.875rem;
  background: transparent;
  border: none;
  color: #4b5563;
  transition: all 0.2s;
}
.andrex-view-btn:hover {
  color: #333;
}
.andrex-view-btn.active {
  background: #dfab00;
  color: #1a1a1a;
}
.andrex-view-btn + .andrex-view-btn {
  border-left: 1px solid #d1d5db;
}
.andrex-view-toggle .andrex-view-btn.active + .andrex-view-btn,
.andrex-view-toggle .andrex-view-btn + .andrex-view-btn.active {
  border-left-color: transparent;
}
.andrex-category-page #products {
  padding: 2rem 0;
}
@media (max-width: 991.98px) {
  .andrex-category-hero {
    padding: 0.5rem 0;
  }
  .andrex-category-page #products {
    padding: 10px 0;
  }
  .andrex-view-toggle {
    display: none !important;
  }
}
.andrex-products-top {
  margin-bottom: 0;
}
.andrex-products-top .filter-button {
  margin-bottom: 0.5rem;
}
.andrex-products-top .showing {
  font-size: 0.875rem;
  color: var(--andrex-muted-foreground);
}

/* Filtry - biała karta, żółte checkboxy */
/* Wszystkie elementy w lewej kolumnie mają styl karty */
#left-column > * {
  background: #fff;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  box-shadow: none;
  padding: 1.25rem;
  margin-bottom: 2rem;
}
.andrex-filters-sidebar {
  position: sticky;
  top: 6rem;
}
.andrex-filters-card {
  margin-top: 1rem;
  background: #fff;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  padding: 1.25rem;
  margin-bottom: 2rem;
}
/* Mobile: ukryj lewą kolumnę z filtrami w układzie (nie display:none — pełnoekran po „Filtry” nadal działa) */
@media (max-width: 991.98px) {
  body#category #left-column,
  body#search #left-column,
  body#prices-drop #left-column,
  body#new-products #left-column,
  body#best-sales #left-column,
  body#manufacturer #left-column,
  body#supplier #left-column {
    flex: 0 0 0 !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    border: none !important;
    min-height: 0 !important;
  }
  body#category #left-column .andrex-filters-card,
  body#search #left-column .andrex-filters-card,
  body#prices-drop #left-column .andrex-filters-card,
  body#new-products #left-column .andrex-filters-card,
  body#best-sales #left-column .andrex-filters-card,
  body#manufacturer #left-column .andrex-filters-card,
  body#supplier #left-column .andrex-filters-card {
    margin: 0 !important;
    padding: 0 !important;
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
  }
  body#category #content-wrapper.js-content-wrapper.left-column.right-column,
  body#search #content-wrapper.js-content-wrapper.left-column.right-column,
  body#prices-drop #content-wrapper.js-content-wrapper.left-column.right-column,
  body#new-products #content-wrapper.js-content-wrapper.left-column.right-column,
  body#best-sales #content-wrapper.js-content-wrapper.left-column.right-column,
  body#manufacturer #content-wrapper.js-content-wrapper.left-column.right-column,
  body#supplier #content-wrapper.js-content-wrapper.left-column.right-column {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    width: 100% !important;
  }
}

/* Mobile: panel filtrów — zamknięty (Bootstrap .hidden-sm-down działa tylko do 767px, stąd własna reguła do 991.98px) */
@media (max-width: 991.98px) {
  #search_filters_wrapper.hidden-sm-down {
    display: none !important;
  }
  /* Otwarty panel (JS usuwa .hidden-sm-down z #search_filters_wrapper) */
  /* Flex + scroll tylko na #search_filters: sticky w fixed+overflow łamie kliknięcia na iOS */
  #search_filters_wrapper:not(.hidden-sm-down) {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    height: 100% !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 0.75rem 1rem !important;
    padding-top: max(0.5rem, env(safe-area-inset-top)) !important;
    padding-bottom: max(1rem, env(safe-area-inset-bottom)) !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
    z-index: 10060 !important;
    background: #fff !important;
    box-sizing: border-box !important;
    box-shadow: none !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  #search_filters_wrapper:not(.hidden-sm-down) #search_filters {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  /* Nagłówek nad obszarem przewijania — bez sticky (iOS) */
  #search_filters_wrapper:not(.hidden-sm-down) .andrex-filters-header {
    position: relative !important;
    flex-shrink: 0;
    top: auto;
    z-index: 5;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: nowrap;
    margin: 0 -0.75rem 0.65rem;
    padding: 0.5rem 0.75rem 0.65rem;
    padding-top: max(0.5rem, env(safe-area-inset-top));
    background: #fff;
    border-bottom: 1px solid var(--andrex-border);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.04);
  }
  #search_filters_wrapper:not(.hidden-sm-down) .andrex-filters-title {
    flex: 1;
    min-width: 0;
    font-size: 1.05rem;
    line-height: 1.25;
    margin: 0;
    align-items: center;
  }
  #search_filters_wrapper:not(.hidden-sm-down) .andrex-filters-title svg {
    flex-shrink: 0;
    width: 22px;
    height: 22px;
  }
  #search_filters_wrapper:not(.hidden-sm-down) .andrex-filters-hide {
    flex-shrink: 0;
    padding: 0.35rem 0.5rem;
    margin-right: -0.25rem;
    white-space: nowrap;
    font-weight: 600;
    color: var(--andrex-primary);
    position: relative;
    z-index: 6;
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(223, 171, 0, 0.15);
  }
  /* Wiersze nagłówków sekcji (collapse) */
  #search_filters_wrapper:not(.hidden-sm-down) #search_filters .facet .title.hidden-md-up {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-height: 40px;
    padding: 0.35rem 0;
    margin: 0;
    cursor: pointer;
    border: none;
    border-bottom: 1px solid var(--andrex-border);
    background: transparent;
    box-sizing: border-box;
  }
  #search_filters_wrapper:not(.hidden-sm-down) #search_filters .facet .title.hidden-md-up .facet-title {
    margin: 0;
    flex: 1;
    text-align: left;
    font-size: 0.85rem;
    font-weight: 600;
  }
  #search_filters_wrapper:not(.hidden-sm-down) #search_filters .facet {
    margin-bottom: 0.8rem;
    padding-bottom: 0.6rem;
  }
  #search_filters_wrapper:not(.hidden-sm-down) #search_filters .facet-title {
    margin-bottom: 0.4rem;
  }
  #search_filters_wrapper:not(.hidden-sm-down) #search_filters .facet ul li {
    margin-bottom: 4px;
  }
  #search_filters_wrapper:not(.hidden-sm-down) #search_filters .facet ul li:last-child {
    margin-bottom: 0;
  }
  #search_filters_wrapper:not(.hidden-sm-down) .facet-toggle-button {
    display: none !important;
  }
  #search_filters_wrapper:not(.hidden-sm-down) #search_filters .facet .title.hidden-md-up .collapse-icons {
    flex-shrink: 0;
    width: 2rem;
    margin-left: 0.5rem;
    margin-right: 0;
    padding-right: 0;
  }
  #search_filters .facet-title {
    border-bottom: none !important;
  }
  #category #left-column #search_filters .facet .h6 {
    padding: 10px;
  }
  #category #left-column #search_filters {
    border-top: none;
  }
  #category #left-column #search_filters .facet {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
  }
  #category #left-column #search_filters .facet ul li {
    padding: 7px;
    border-top: none;
  }
}

.andrex-filters-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--andrex-border);
}
.andrex-filters-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  margin: 0;
}
.andrex-filters-title svg {
  color: var(--andrex-primary);
}
.andrex-filters-hide {
  font-size: 0.875rem;
  color: var(--andrex-muted-foreground);
  padding: 0;
  text-decoration: none;
}
.andrex-filters-hide:hover {
  color: var(--andrex-primary);
}
@media (min-width: 992px) {
  .andrex-filters-hide {
    display: none;
  }
}
.block-categories {
  padding: 0;
}
.block-categories .category-sub-menu li[data-depth="1"],
.product-prices div {
  margin-bottom: 0;
}
.andrex-filters-card #search_filters_wrapper {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
#search_filters,
#search_filters_brands,
#search_filters_suppliers {
  padding: 0;
}
#search_filters .facet {
  margin-bottom: 1.25rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--andrex-border);
}
#search_filters .facet:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
#search_filters .facet-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  margin-bottom: 0.75rem;
}
#search_filters .facet-label {
  display: flex;
  align-items: center;
  gap: 0.175rem;
  font-size: 0.9375rem;
  cursor: pointer;
  margin-bottom: 0;
  line-height: 1;
}
#search_filters .facet ul li {
    margin-bottom: 7px;
}
#search_filters .facet ul li:last-child {
    margin-bottom: 0;
}
#search_filters .facet .facet-label a,
#search_filters_brands .facet .facet-label a,
#search_filters_suppliers .facet .facet-label a {
  margin: 0;
  margin-top: 0;
  padding: 0;
  line-height: 1.2;
  display: inline-block;
  color: var(--andrex-foreground);
  white-space: normal;
  text-transform: lowercase;
}
#search_filters .facet .facet-label a::first-letter,
#search_filters_brands .facet .facet-label a::first-letter,
#search_filters_suppliers .facet .facet-label a::first-letter {
  text-transform: uppercase;
}
#search_filters .facet[data-type="manufacturer"] .facet-label a {
  text-transform: uppercase;
}
#search_filters .facet .facet-label .custom-checkbox,
#search_filters .facet .facet-label .custom-radio {
    top: 0;
    margin: 0;
    display: flex;
    align-items: center;
}
#search_filters .custom-checkbox {
    margin: 0;
    display: flex;
    align-items: center;
}
#search_filters .custom-checkbox input:checked + span,
#search_filters .custom-checkbox input:checked + .color {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary);
}
#search_filters .custom-checkbox span:not(.color) {
  border: none !important;
  border-radius: 4px;
  width: 1.125rem;
  height: 1.125rem;
  display: flex;
  align-items: center;
  justify-content: center;
}
#search_filters .custom-checkbox input:checked + span i {
  color: #fff;
}
#search_filters .facet-label.active .custom-checkbox span,
#search_filters .facet-label.active .custom-checkbox .color {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary);
}
#search_filters .faceted-slider .ui-slider-range {
  background: var(--andrex-primary);
}
#search_filters .faceted-slider .ui-slider-handle {
  border-color: var(--andrex-primary);
}

/* Widok listy - produkty pełna szerokość, zdjęcie | treść w dwóch kolumnach */
.andrex-products-grid.andrex-view-list .products.row {
  display: block;
}
.andrex-products-grid.andrex-view-list .products .js-product.product {
  width: 100%;
  max-width: 100%;
  flex: 0 0 100%;
}
.andrex-products-grid.andrex-view-list .products .product-miniature {
  display: block;
  max-width: none;
  margin-bottom: 0;
  border-bottom: 1px solid var(--andrex-border);
  padding-bottom: 1.5rem;
}
.andrex-products-grid.andrex-view-list .products .js-product:last-child .product-miniature {
  margin-bottom: 0;
  border-bottom: none;
  padding-bottom: 0;
}
.andrex-products-grid.andrex-view-list .products .product-miniature .thumbnail-container {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 1.5rem;
  flex-wrap: nowrap;
}
.andrex-products-grid.andrex-view-list .products .product-miniature .thumbnail-top {
  flex: 0 0 200px;
  width: 200px;
  min-width: 200px;
  aspect-ratio: 1;
  margin: 0;
}
.andrex-products-grid.andrex-view-list .products .product-miniature .product-flags {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
}
.andrex-products-grid.andrex-view-list .products .product-miniature .product-description {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1rem;
}
@media (max-width: 575px) {
  .andrex-products-grid.andrex-view-list .products .product-miniature .thumbnail-container {
    flex-direction: column;
  }
  .andrex-products-grid.andrex-view-list .products .product-miniature .thumbnail-top {
    flex: 0 0 auto;
    width: 100%;
    min-width: 0;
  }
}

/* Kategoria - Bootstrap row/col działa natywnie */

#subcategories {
  border: none;
  margin-bottom: 0;
  padding: 0;
  padding-top: 1rem;
}

/* Przycisk Filtruj - tylko na mobilce, pełna szerokość */
.feds_offcanvas_tri {
  display: none;
}
@media (max-width: 767px) {
  .feds_offcanvas_tri {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    background: #fff;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-weight: 500;
    color: #333;
    text-decoration: none;
  }
  .feds_offcanvas_tri:hover {
    border-color: var(--andrex-primary);
    color: var(--andrex-primary);
  }
  .feds_offcanvas_tri .feds-sliders {
    margin-right: 0.5rem;
  }
}
#subcategories .andrex-subcategories-list > div .subcategory-image a,
.andrex-subcategories-list .subcategory-image a {
  border: 1px solid var(--andrex-border);
  border-radius: 0.25rem;
}
#subcategories .andrex-subcategories-list > div:hover .subcategory-image a,
.andrex-subcategories-list > div:hover .subcategory-image a {
  border-color: var(--andrex-primary);
}

/* Podkategorie - domyślnie ukryte, przycisk Pokaż/Ukryj */
.andrex-subcategories {
  margin-bottom: 1.5rem;
}
.andrex-subcategories-toggle {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 1rem;
  background: #fff;
  border: 1px solid var(--andrex-border);
  border-radius: 4px;
  font-weight: 500;
  color: #333;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s;
}
.andrex-subcategories-toggle:hover {
  border-color: var(--andrex-primary);
  color: var(--andrex-primary);
}
.andrex-subcategories-chevron {
  margin-left: auto;
  flex-shrink: 0;
  transition: transform 0.2s;
}
.andrex-subcategories-toggle.andrex-subcategories-open .andrex-subcategories-chevron {
  transform: rotate(180deg);
}
.andrex-subcategories-list {
  margin-top: 0.5rem;
  padding-top: 0.5rem;
  border-top: none;
  list-style: none;
  padding-left: 0;
  margin-left: -0.375rem;
  margin-right: -0.375rem;
}
#andrex-subcategories-list:not([hidden]) {
  border-bottom: 1px solid rgba(230, 230, 230, 0.6);
  padding-bottom: 0.5rem;
}
.andrex-subcategories-list > div {
  text-align: center;
  margin-bottom: 0.5rem;
  padding-left: 0.375rem;
  padding-right: 0.375rem;
}
.andrex-subcategories-list .subcategory-image {
  margin: 0 auto 0.25rem;
  overflow: hidden;
  border-radius: 0.25rem;
}
.andrex-subcategories-list .subcategory-image a {
  display: block;
  width: 100%;
  height: 100%;
}
.andrex-subcategories-list .subcategory-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.andrex-subcategories-list h5 {
  color: #333;
  font-size: 0.75rem;
  margin: 0 0 0.125rem;
  line-height: 1.2;
}
.andrex-subcategories-list .subcategory-name {
  color: #333;
  font-size: 0.75rem;
}
.andrex-subcategories-list .subcategory-name:hover {
  color: #efb506;
  text-decoration: none;
}
.andrex-subcategories-list .cat_desc {
  display: none;
}

/* === Variant cards - układ kart wariantów (Wybierz wariant) === */
.andrex-variant-cards {
  margin-bottom: 1.5rem;
}
.andrex-variant-header {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1rem;
}
.andrex-variant-label {
  font-weight: 600;
  font-size: 0.8rem;
  color: #333;
  width: 50%;
}
.andrex-variant-filters {
  display: flex;
  gap: 0.25rem;
  border-radius: 0.25rem;
  overflow: hidden;
  border: 1px solid var(--andrex-border);
  background: #f5f5f5;
  margin-left: auto;
}
.andrex-variant-filter {
  padding: 0.5rem;
  background: transparent;
  border: none;
  font-size: 0.6rem;
  font-weight: 500;
  color: #555;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.andrex-variant-filter:hover {
  color: #333;
}
.andrex-variant-filter.active {
  background: var(--andrex-primary);
  color: #1a1a1a;
}
.andrex-variant-filter + .andrex-variant-filter {
  border-left: 1px solid var(--andrex-border);
}
.andrex-variant-filter.active + .andrex-variant-filter,
.andrex-variant-filter + .andrex-variant-filter.active {
  border-left-color: transparent;
}
.andrex-variant-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
  max-height: 320px;
  overflow-y: auto;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  padding: 0.75rem;
}
.andrex-variant-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
  padding: 1rem;
  margin-bottom: 0;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: border-color 0.2s, background 0.2s;
  position: relative;
}
.andrex-variant-card:hover {
  border-color: var(--andrex-primary);
}
/* Aktywny wariant - :has() działa na podstawie checked radio (bez JS) */
.andrex-variant-card:has(.andrex-variant-input:checked),
.andrex-variant-card.selected {
  background: #FFF8E1;
  border: 2px solid var(--andrex-primary);
}
.andrex-variant-card:has(.andrex-variant-input:checked) .andrex-variant-name,
.andrex-variant-card:has(.andrex-variant-input:checked) .andrex-variant-price,
.andrex-variant-card.selected .andrex-variant-name,
.andrex-variant-card.selected .andrex-variant-price {
  color: #1a1a1a;
}
.andrex-variant-card.andrex-variant-order .andrex-variant-name,
.andrex-variant-card.andrex-variant-order .andrex-variant-price {
  color: #999;
}
.andrex-variant-card:has(.andrex-variant-input:checked).andrex-variant-order .andrex-variant-name,
.andrex-variant-card:has(.andrex-variant-input:checked).andrex-variant-order .andrex-variant-price,
.andrex-variant-card.selected.andrex-variant-order .andrex-variant-name,
.andrex-variant-card.selected.andrex-variant-order .andrex-variant-price {
  color: rgba(26, 26, 26, 0.8);
}
.andrex-variant-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.andrex-variant-name {
  font-size: 1rem;
  font-weight: 600;
  color: #333;
  margin-bottom: 0.35rem;
}
.andrex-variant-price-wrap {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}
.andrex-variant-price-old {
  font-size: 0.875rem;
  color: #999;
  text-decoration: line-through;
}
.andrex-variant-price {
  font-size: 0.875rem;
  color: #555;
}
.andrex-variant-badge {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  display: inline-block;
  padding: 0.2rem 0.5rem;
  background: #e0e0e0;
  color: #6b7280;
  font-size: 0.55rem;
  font-weight: 500;
  border-radius: 0.25rem;
}

/* === Product detail page - góra strony === */
.andrex-product-detail .product-container {
  align-items: flex-start;
  gap: 0;
}
.andrex-product-detail .page-content {
  padding-top: 0;
}
.andrex-product-detail .images-container {
  background: var(--andrex-card);
  border: none;
  border-radius: var(--andrex-radius);
  overflow: hidden;
  padding: 1rem;
}
.andrex-product-detail .product-cover {
  border-radius: var(--andrex-radius);
  overflow: hidden;
  background: var(--andrex-muted);
}
.andrex-product-detail .product-cover img {
  display: block;
  width: 100%;
  height: auto;
}
.andrex-product-detail .product-cover .layer {
  border-radius: var(--andrex-radius);
}
.andrex-product-detail .js-qv-mask {
  margin-top: 0.75rem;
}
.andrex-product-detail .product-images {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}
.andrex-product-detail .thumb-container {
  flex: 0 0 auto;
}
.andrex-product-detail .thumb-container img {
  border: 2px solid transparent;
  border-radius: var(--andrex-radius);
  transition: border-color 0.2s;
}
.andrex-product-detail .thumb-container.selected img,
.andrex-product-detail .thumb-container.js-thumb-selected img {
  border-color: var(--andrex-primary);
}
.andrex-product-header {
  margin-bottom: 1.5rem;
}
.andrex-product-badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.75rem;
}
.andrex-product-badges .product-flags {
  margin-bottom: 0;
}
.andrex-product-category-badge {
  display: inline-block;
  padding: 0.25rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 9999px;
  background: var(--andrex-muted);
  color: var(--andrex-foreground);
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
}
.andrex-product-category-badge:hover {
  background: #dfab00;
  color: var(--andrex-foreground);
  text-decoration: none;
}
.andrex-product-header .product-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin-bottom: 0.75rem;
  list-style: none;
  padding: 0;
  margin-left: 0;
}
.andrex-product-header .product-flag {
  display: inline-block;
  padding: 0.25rem 0.6rem;
  font-size: 0.75rem;
  font-weight: 600;
  border-radius: 9999px;
  background: var(--andrex-primary);
  color: #1a1a1a;
}
.andrex-product-title {
  font-size: 1.75rem;
  font-weight: 700;
  color: var(--andrex-foreground);
  margin: 0 0 0.35rem 0;
  line-height: 1.3;
}
@media (min-width: 768px) {
  .andrex-product-title { font-size: 2rem; }
}
.andrex-product-code {
  font-size: 0.9375rem;
  color: var(--andrex-muted-foreground);
  margin: 0;
  letter-spacing: 0.02em;
}
.andrex-price-box {
  background: var(--andrex-muted);
  padding: 1.25rem;
  border-radius: var(--andrex-radius);
  margin-bottom: 1.5rem;
}
.andrex-price-tabs {
  display: flex;
  gap: 0;
  margin-bottom: 0.75rem;
  border-radius: var(--andrex-radius);
  overflow: hidden;
  background: #e5e7eb;
  width: fit-content;
}
.andrex-price-tab {
  padding: 0.4rem 1rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: #6b7280;
  background: transparent;
  border: none;
  cursor: pointer;
  transition: background 0.2s, color 0.2s;
}
.andrex-price-tab:hover {
  color: #374151;
}
.andrex-price-tab.active {
  background: var(--andrex-primary);
  color: var(--andrex-primary-foreground);
}
.andrex-price-tab-content .andrex-price-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--andrex-foreground);
  display: block;
}
@media (min-width: 576px) {
  .andrex-price-tab-content .andrex-price-value { font-size: 2.25rem; }
}
.andrex-price-tab-content .andrex-price-tab-label {
  font-size: 0.75rem;
  color: var(--andrex-muted-foreground);
  font-weight: 500;
}
.andrex-price-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-bottom: 0.5rem;
}
.andrex-price-row .product-price {
  margin: 0;
}
.andrex-price-row .current-price-value {
  font-size: 2rem;
  font-weight: 700;
  color: var(--andrex-foreground);
}
@media (min-width: 576px) {
  .andrex-price-row .current-price-value { font-size: 2.25rem; }
}
/* Ceny brutto i netto obok siebie - netto główna, brutto mała */
.andrex-dual-price {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.andrex-dual-price .andrex-price-netto {
  font-size: 2rem;
  font-weight: 700;
  color: var(--andrex-foreground);
}
@media (min-width: 576px) {
  .andrex-dual-price .andrex-price-netto { font-size: 2.25rem; }
}
.andrex-dual-price .andrex-price-netto-label {
  font-size: 0.75rem;
  color: var(--andrex-muted-foreground);
  font-weight: 500;
}
.andrex-dual-price .andrex-price-brutto {
  font-size: 0.8125rem;
  color: var(--andrex-muted-foreground);
  font-weight: 500;
}
.andrex-stock-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.35rem 0.75rem;
  background: #e5e7eb;
  color: #4b5563;
  font-size: 0.7rem;
  font-weight: 500;
  border-radius: 9999px;
  margin-left: auto;
}
.andrex-stock-badge.available {
  background: #d1fae5;
  color: #065f46;
}
.andrex-stock-badge .andrex-stock-icon {
  font-size: 1rem;
  color: inherit;
}
.andrex-stock-badge.available .andrex-stock-icon {
  color: #059669;
}
.andrex-price-box .tax-shipping-delivery-label {
  font-size: 0.8125rem;
  color: var(--andrex-muted-foreground);
  margin-top: 0.5rem;
}
.andrex-price-box .tax-shipping-delivery-label:empty {
  display: none;
}
.product-actions .add-to-cart {
  height: auto;
  padding: .5rem 1.25rem;
  line-height: inherit;
  font-weight: 600;
}
.product-actions .add-to-cart .material-icons {
  line-height: 1;
}
.product-price {
  color: #333;
}

/* Add to cart - quantity + przyciski */
.andrex-add-to-cart {
  margin-bottom: 1.5rem;
}
.andrex-add-to-cart-row {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 1rem;
}
.andrex-quantity-group {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: stretch;
  background: #fff;
  border: 1px solid var(--andrex-border);
  border-radius: 0.5rem;
  overflow: hidden;
  min-height: 2.75rem;
}
.andrex-quantity-stock-msg {
  display: block;
  font-size: 0.8125rem;
  color: #c0392b;
  padding: 0.35rem 0 0;
  margin-top: 0.5rem;
  line-height: 1.3;
}
.andrex-quantity-label {
  display: flex;
  align-items: center;
  padding: 0 0.875rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  background: #fafafa;
  border-right: 1px solid var(--andrex-border);
  border-radius: 0.5rem 0 0 0.5rem;
}
.andrex-quantity-input-wrap {
  display: flex;
  align-items: stretch;
}
/* Horizontal layout: minus | input | plus */
.andrex-quantity-horizontal {
  display: flex;
  align-items: stretch;
  flex: 1;
}
.andrex-quantity-horizontal .andrex-qty-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.75rem;
  padding: 0;
  border: none;
  border-left: 1px solid var(--andrex-border);
  background: #f5f5f5;
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--andrex-foreground);
  cursor: pointer;
  transition: background 0.15s;
}
.andrex-quantity-horizontal .andrex-qty-minus {
  border-left: none;
  border-right: 1px solid var(--andrex-border);
}
.andrex-quantity-horizontal .andrex-qty-btn:hover {
  background: #ebebeb;
}
.andrex-quantity-horizontal .andrex-qty-btn:active {
  background: #e0e0e0;
}
.andrex-quantity-unit {
  display: flex;
  align-items: center;
  padding: 0 0.75rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--andrex-muted-foreground);
  background: #fafafa;
  border-left: 1px solid var(--andrex-border);
  border-radius: 0 0.5rem 0.5rem 0;
}
.andrex-quantity-horizontal #quantity_wanted {
  height: 100%;
  border: none;
}
.andrex-quantity-horizontal .andrex-quantity-input {
  width: 3rem;
  min-width: 3rem;
  height: 2.75rem;
  padding: 0 0.5rem;
  border: none;
  border-left: 1px solid var(--andrex-border);
  border-right: 1px solid var(--andrex-border);
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
  background: #fff;
}
/* Ukryj przyciski bootstrap-touchspin – używamy własnych andrex-qty-btn */
.andrex-quantity-horizontal .bootstrap-touchspin .input-group-btn-vertical,
.andrex-quantity-horizontal .bootstrap-touchspin-up,
.andrex-quantity-horizontal .bootstrap-touchspin-down {
  display: none !important;
}
.andrex-add-buttons {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}
.andrex-btn-add-to-cart,
.andrex-btn-send-message {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1.25rem !important;
  text-decoration: none;
}
.andrex-add-buttons .btn:not(.add-to-cart):not(.andrex-btn-send-message) {
  padding: 0.6rem;
  background: var(--andrex-muted) !important;
  border: 1px solid var(--andrex-border) !important;
  color: var(--andrex-foreground) !important;
}
.andrex-add-buttons .btn:not(.add-to-cart):not(.andrex-btn-send-message):hover {
  background: #e5e7eb !important;
  border-color: var(--andrex-border) !important;
}
@media (max-width: 767px) {
  .andrex-add-to-cart-row {
    justify-content: center;
  }
  .andrex-add-buttons {
    margin-left: 0;
    width: 100%;
  }
  .andrex-add-buttons .add {
    flex: 1 1 100%;
  }
  .product-actions .add-to-cart,
  .product-actions .andrex-btn-send-message {
    width: 100%;
    justify-content: center;
    text-align: center;
  }
}

/* Availability + delivery info (below add to cart) */
.andrex-availability-delivery {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  margin-top: 5px;
}
.andrex-availability-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}
.andrex-availability-icon {
  font-size: 1.25rem;
}
.andrex-availability-badge .andrex-availability-text {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--andrex-muted-foreground, #9ca3af);
}
.product-available.andrex-availability-icon {
  color: #059669;
}
.andrex-delivery-info {
  font-size: 0.875rem;
  color: var(--andrex-muted-foreground);
}
.andrex-delivery-standalone {
  display: block;
  text-align: left;
  margin-top: 4px;
}

/* Product details meta (Indeks, W magazynie, Marka) – ukryte na karcie produktu */
.andrex-product-details-meta {
  display: none !important;
}
.andrex-product-meta-item {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.andrex-meta-label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--andrex-muted-foreground);
}

/* Specyfikacja techniczna - tabela dwukolumnowa */
.andrex-product-features {
  margin-top: 2rem;
}
.andrex-product-features-title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #333;
}
.andrex-data-sheet {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  overflow: hidden;
}
.andrex-data-sheet th,
.andrex-data-sheet td {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--andrex-border);
  text-align: left;
  vertical-align: top;
}
.andrex-data-sheet tr:last-child th,
.andrex-data-sheet tr:last-child td {
  border-bottom: none;
}
.andrex-data-sheet-name {
  font-weight: 600;
  color: var(--andrex-muted-foreground);
  width: 40%;
  background: rgba(240, 240, 240, 0.4);
}
.andrex-data-sheet-value {
  color: var(--andrex-foreground);
}

/* Sekcje opisu produktu */
.andrex-product-tabs-content {
  padding-top: 2rem;
}
.andrex-product-section {
  margin-bottom: 2rem;
}
.andrex-product-section-title {
  font-size: 1.5rem;
  line-height: 2rem;
  font-weight: 600;
  margin-bottom: 1rem;
  color: #333;
}
.andrex-product-description {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: #666;
}
.andrex-product-description p,
.andrex-product-description ul,
.andrex-product-description li {
  color: #666;
  font-size: 0.9375rem;
}
/* Nagłówki w opisie – skala proporcjonalna (h2 = 1.26rem) */
.andrex-product-description h1,
.andrex-product-description h2,
.andrex-product-description h3,
.andrex-product-description h4,
.andrex-product-description h5,
.andrex-product-description h6,
.andrex-product-description h1 strong,
.andrex-product-description h2 strong,
.andrex-product-description h3 strong,
.andrex-product-description h4 strong,
.andrex-product-description h5 strong,
.andrex-product-description h6 strong {
  font-weight: 600;
  color: #333;
}
.andrex-product-description h1 { font-size: 1.4rem; }
.andrex-product-description h2 { font-size: 1.26rem; }
.andrex-product-description h3 { font-size: 1.12rem; }
.andrex-product-description h4 { font-size: 0.98rem; }
.andrex-product-description h5 { font-size: 0.84rem; }
.andrex-product-description h6 { font-size: 0.7rem; }
.andrex-product-description ul,
.andrex-product-description ol {
  margin: 0.75rem 0;
  padding-left: 1.5rem;
}
.andrex-product-description ul,
.andrex-product-description ul li {
  list-style-type: disc !important;
}
.andrex-product-description ol,
.andrex-product-description ol li {
  list-style-type: decimal !important;
}
.andrex-product-description li {
  margin-bottom: 0.5rem;
  display: list-item !important;
}

/* === Account page - AndrexTools Account.tsx 1:1 === */
.andrex-account-page { padding: 3rem 0; }
.andrex-account-title { font-size: 1.875rem; font-weight: 700; color: var(--andrex-foreground); margin-bottom: 0.5rem; }
.andrex-account-desc { color: var(--andrex-muted-foreground); margin: 0; }
.andrex-account-links { display: grid; grid-template-columns: 1fr; gap: 1.5rem; margin-top: 2rem; }
@media (min-width: 768px) {
  .andrex-account-links { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px) {
  .andrex-account-links { grid-template-columns: repeat(3, 1fr); }
}
.andrex-account-card { text-decoration: none!important; color: inherit; display: block; }
.andrex-account-card-inner {
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  transition: box-shadow 0.2s, border-color 0.2s;
}
.andrex-account-card:hover .andrex-account-card-inner {
  box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
  border-color: var(--andrex-primary-hover);
  text-decoration:none!important;
}
.andrex-account-icon {
  width: 3rem;
  height: 3rem;
  background: rgba(250, 204, 21, 0.1);
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}
.andrex-account-icon svg { width: 1.5rem; height: 1.5rem; color: var(--andrex-primary); }
.andrex-account-icon i{
color: var(--andrex-primary);
}
.andrex-account-card:hover .andrex-account-icon { background: rgba(250, 204, 21, 0.2); }
.andrex-account-card-title { font-size: 1.125rem; font-weight: 600; color: var(--andrex-foreground); margin-bottom: 0.5rem; }
.andrex-account-card:hover .andrex-account-card-title { color: var(--andrex-primary-hover); }
.andrex-account-card-desc { font-size: 0.875rem; color: var(--andrex-muted-foreground); margin-bottom: 1rem; }
.andrex-account-card-link { font-size: 0.875rem; color: var(--andrex-primary); }
.andrex-account-card:hover .andrex-account-card-link { text-decoration: underline; }
/* displayCustomerAccount hook - Bootstrap col działa natywnie w gridzie */
.andrex-section-inner .form-footer .btn-primary, .btn.btn-primary{
  /* margin:0 auto; */
}
/* === 404 NotFound - AndrexTools 1:1 === */
.andrex-404 {
  min-height: 60vh;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--andrex-muted);
}
.andrex-404-inner {
  text-align: center;
  padding: 2rem;
}
.andrex-404-title { font-size: 4rem; font-weight: 700; color: var(--andrex-foreground); margin-bottom: 1rem; }
.andrex-404-desc { font-size: 1.25rem; color: var(--andrex-muted-foreground); margin-bottom: 1.5rem; }
.andrex-404-link {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
}

/* === CMS pages (FAQ, Blog, Poradnik) - AndrexTools hero === */
.page-cms .page-content {
  padding: 2rem 0;
  text-align: left;
}
.andrex-cms-hero {
  background: linear-gradient(to bottom right, var(--andrex-secondary), var(--andrex-background), var(--andrex-secondary));
  padding: 5rem 0;
  border-bottom: 1px solid var(--andrex-border);
  text-align: left;
  margin-left: calc(-50vw + 50%);
  margin-right: calc(-50vw + 50%);
  width: 100vw;
}
.andrex-cms-hero h1 {
  font-size: 2.5rem;
  font-weight: 700;
  color: var(--andrex-foreground);
  margin-bottom: 1rem;
}
@media (min-width: 768px) {
  .andrex-cms-hero h1 { font-size: 3rem; }
}
.andrex-cms-hero p {
  font-size: 1.25rem;
  color: var(--andrex-muted-foreground);
  max-width: 48rem;
  margin: 0;
}

/* === FAQ - AndrexTools accordion === */
.page-faq .andrex-cms-hero {
  padding-bottom: 2rem;
}
.andrex-faq-content { padding: 2rem 0 3rem; }
.andrex-faq-category {
  margin-bottom: 2.5rem;
}
.andrex-faq-category-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  margin-bottom: 1rem;
  padding-bottom: 0.5rem;
}
.andrex-faq-category-icon {
  flex-shrink: 0;
  color: var(--andrex-primary);
}
.andrex-faq-items { display: flex; flex-direction: column; gap: 0.5rem; }
.andrex-faq-item {
  background: var(--andrex-card);
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  overflow: hidden;
}
.andrex-faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 1rem 1.25rem;
  background: none;
  border: none;
  text-align: left;
  font-size: 1rem;
  font-weight: 500;
  color: var(--andrex-foreground);
  cursor: pointer;
  transition: background 0.2s;
}
.andrex-faq-question:hover {
  background: var(--andrex-muted);
}
.andrex-faq-question span { flex: 1; }
.andrex-faq-arrow {
  flex-shrink: 0;
  margin-left: 0.75rem;
  transition: transform 0.2s;
  color: var(--andrex-muted-foreground);
}
.andrex-faq-item.is-open .andrex-faq-arrow {
  transform: rotate(180deg);
}
.andrex-faq-answer {
  padding: 0 1.25rem 1rem;
}
.andrex-faq-answer p {
  margin: 0;
  padding: 0 0 0 0;
  font-size: 0.9375rem;
  color: var(--andrex-muted-foreground);
  line-height: 1.6;
}
.andrex-faq-item:not(.is-open) .andrex-faq-answer { display: none; }
.andrex-faq-cta {
  background: var(--andrex-muted);
  border-radius: var(--andrex-radius);
  padding: 2.5rem;
  text-align: center;
  margin-top: 2rem;
}
.andrex-faq-cta h2 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  margin-bottom: 0.5rem;
}
.andrex-faq-cta p {
  font-size: 1rem;
  color: var(--andrex-muted-foreground);
  margin-bottom: 1.5rem;
}
.andrex-faq-cta-btns {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: center;
}
.andrex-faq-cta-phone {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
}
.andrex-faq-cta-phone:hover {
  background: var(--andrex-primary-hover) !important;
  border-color: var(--andrex-primary-hover) !important;
  color: var(--andrex-primary-foreground) !important;
}
.andrex-faq-cta-email {
  background: var(--andrex-card) !important;
  border: 1px solid var(--andrex-border) !important;
  color: var(--andrex-foreground) !important;
}
.andrex-faq-cta-email:hover {
  background: var(--andrex-muted) !important;
  border-color: var(--andrex-secondary) !important;
}

/* === Wrapper === */
#product #content {
  max-width: 100%;
}
.page-home #content,
.page-home #main { padding: 0 !important; }
.page-home .card { border: none !important; box-shadow: none !important; background: transparent !important; }

#main .page-content,
#main .page-footer,
#main .page-header {
  margin-bottom: 0;
}

/* === Strony logowania, konta, hasła – wyśrodkowany footer + padding === */
#authentication #main .page-footer,
#password #main .page-footer,
#registration #main .page-footer,
#guest-login #main .page-footer,
#my-account #main .page-footer,
#identity #main .page-footer,
#addresses #main .page-footer,
#address #main .page-footer,
#history #main .page-footer,
#order-detail #main .page-footer,
#order-follow #main .page-footer,
#order-return #main .page-footer,
#order-slip #main .page-footer,
#discount #main .page-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  padding-bottom: 20px;
}
#authentication #main .page-header,
#password #main .page-header,
#registration #main .page-header,
#guest-login #main .page-header {
  text-align: center;
}
#authentication #main .page-content,
#authentication #main .page-header,
#password #main .page-content,
#password #main .page-header,
#registration #main .page-content,
#registration #main .page-header,
#guest-login #main .page-content,
#guest-login #main .page-header,
#my-account #main .page-content,
#my-account #main .page-header,
#identity #main .page-content,
#identity #main .page-header,
#addresses #main .page-content,
#addresses #main .page-header,
#address #main .page-content,
#address #main .page-header,
#history #main .page-content,
#history #main .page-header,
#order-detail #main .page-content,
#order-detail #main .page-header,
#order-follow #main .page-content,
#order-follow #main .page-header,
#order-return #main .page-content,
#order-return #main .page-header,
#order-slip #main .page-content,
#order-slip #main .page-header,
#discount #main .page-content,
#discount #main .page-header {
  padding-bottom: 20px;
}
#footer {
  padding-top: 0;
}

/* === Andrex Feature Color - Wydajność (gwiazdki) + Aplikacja (pudełka) === */
.andrex-feature-display {
  border-top: 1px solid var(--andrex-border);
  border-bottom: 1px solid var(--andrex-border);
  padding: 0.5rem 0;
  padding-bottom: 0.75rem;
  margin: 0.5rem 0;
}
.andrex-products-grid.andrex-view-list .andrex-feature-display {
  border: none;
}
.andrex-feature-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}
.andrex-feature-row:last-child {
  margin-bottom: 0;
}
.andrex-feature-label {
  font-weight: 600;
  font-size: 0.875rem;
  flex-shrink: 0;
}
.andrex-stars {
  display: flex;
  gap: 0.1rem;
  font-size: 1rem;
  line-height: 1;
}
.andrex-star {
  color: #e5e7eb;
}
.andrex-star.filled {
  color: #eab308;
}
.andrex-letter-boxes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.andrex-letter-boxes .letter-box {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  font-size: 0.75rem;
  font-weight: 700;
  color: #fff;
  cursor: help;
}
.andrex-letter-boxes .letter-box .popup {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-4px);
  padding: 0.25rem 0.5rem;
  background: inherit;
  color: #fff;
  font-size: 0.7rem;
  font-weight: 500;
  white-space: nowrap;
  border-radius: 4px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s, visibility 0.2s;
  pointer-events: none;
  z-index: 10;
}
.andrex-letter-boxes .letter-box:hover .popup {
  opacity: 1;
  visibility: visible;
}
.andrex-letter-boxes .letter-box-blue { background: #3b82f6; }
.andrex-letter-boxes .letter-box-yellow { background: #eab308; }
.andrex-letter-boxes .letter-box-orange { background: #f97316; }
.andrex-letter-boxes .letter-box-red { background: #ef4444; }
.andrex-letter-boxes .letter-box-green { background: #22c55e; }

/* Material letter-box colors */
.andrex-letter-boxes .letter-box-mat-p { background: #4486c4; }
.andrex-letter-boxes .letter-box-mat-m { background: #ffd200; color: #333; }
.andrex-letter-boxes .letter-box-mat-m .letter { color: #333; }
.andrex-letter-boxes .letter-box-mat-k { background: #e30613; }
.andrex-letter-boxes .letter-box-mat-n { background: #6fb644; }
.andrex-letter-boxes .letter-box-mat-s { background: #ef7d00; }
.andrex-letter-boxes .letter-box-mat-h { background: #7d7d7d; }
.popup.mat-p { background: #4486c4; }
.popup.mat-m { background: #ffd200; color: #333; }
.popup.mat-k { background: #e30613; }
.popup.mat-n { background: #6fb644; }
.popup.mat-s { background: #ef7d00; }
.popup.mat-h { background: #7d7d7d; }

/* === Supercheckout - kolory AndrexTools === */
#supercheckout-fieldset .orangebutton,
#supercheckout-fieldset .orangebuttonsmall,
#supercheckout-fieldset .orangebuttonapply,
.divkbmobilelogin .orangebuttonapply,
.divKbgiftMessage .orangebuttonapply,
#supercheckout_confirm_order,
#supercheckout_continue_shopping {
  background: var(--andrex-primary) !important;
  background-color: var(--andrex-primary) !important;
  border: 1px solid var(--andrex-primary-hover) !important;
  border-bottom: 1px solid var(--andrex-primary-hover) !important;
  box-shadow: none !important;
  color: var(--andrex-primary-foreground) !important;
  filter: none !important;
}
#supercheckout-fieldset .orangebutton:hover,
#supercheckout-fieldset .orangebuttonsmall:hover,
#supercheckout-fieldset .orangebuttonapply:hover,
.divkbmobilelogin .orangebuttonapply:hover,
.divKbgiftMessage .orangebuttonapply:hover,
#supercheckout_confirm_order:hover,
#supercheckout_continue_shopping:hover {
  background: var(--andrex-primary-hover) !important;
  background-color: var(--andrex-primary-hover) !important;
  border: 1px solid var(--andrex-primary-hover) !important;
  border-bottom: 1px solid var(--andrex-primary-hover) !important;
  box-shadow: none !important;
  color: var(--andrex-primary-foreground) !important;
  filter: none !important;
}
#supercheckout-fieldset .orange.supercheckout-button,
#supercheckout-fieldset .orange.supercheckout-button:visited {
  background-color: var(--andrex-primary) !important;
}
#supercheckout-fieldset .orange.supercheckout-button:hover {
  background-color: var(--andrex-primary-hover) !important;
}
#supercheckout-fieldset .btn-primary,
#supercheckout-fieldset .btn-success,
#supercheckout-fieldset button.btn-primary,
#supercheckout-fieldset .btn.btn-primary {
  background-color: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
}
#supercheckout-fieldset .btn-primary:hover,
#supercheckout-fieldset .btn-success:hover,
#supercheckout-fieldset button.btn-primary:hover,
#supercheckout-fieldset .btn.btn-primary:hover {
  background-color: var(--andrex-primary-hover) !important;
  border-color: var(--andrex-primary-hover) !important;
  color: var(--andrex-primary-foreground) !important;
}
#supercheckout-fieldset .kb_edit_btn {
  background-color: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
}
#supercheckout-fieldset .kb_edit_btn:hover {
  background-color: var(--andrex-primary-hover) !important;
  border-color: var(--andrex-primary-hover) !important;
}
/* Usuń zielone obramowanie z przycisku Złóż zamówienie - nadpisuje inline styles */
#placeorderButton #supercheckout_confirm_order,
#placeorderButton #supercheckout_confirm_order.orangebutton,
#placeorderButton #supercheckout_confirm_order.btn-success,
#placeorderButton .orangebutton.btn-success {
  border: 1px solid var(--andrex-primary-hover) !important;
  border-bottom: 1px solid var(--andrex-primary-hover) !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Checkboxy i linki w supercheckout */
#supercheckout-fieldset input[type=checkbox]:checked + label:before,
.opc-container input[type=checkbox]:checked + label:before {
  background-color: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
}
#supercheckout-fieldset a,
#supercheckout-fieldset .supercheckout-blocks a {
  color: #333 !important;
}
#supercheckout-fieldset a:hover,
#supercheckout-fieldset .supercheckout-blocks a:hover {
  color: #555 !important;
}
/* Usuń niebieski z opc-container - obramowania nagłówków, przyciski ilości, ikony */
#module-supercheckout-supercheckout .opc-container .custom-panel h2:after,
.page-order .opc-container .custom-panel h2:after {
  border-left-color: var(--andrex-primary) !important;
}
#module-supercheckout-supercheckout .opc-container .custom-panel h2 i,
.page-order .opc-container .custom-panel h2 i,
#module-supercheckout-supercheckout .opc-container .custom-panel h2 .fas,
.page-order .opc-container .custom-panel h2 .fas,
#module-supercheckout-supercheckout .opc-container .custom-panel h2 .far,
.page-order .opc-container .custom-panel h2 .far {
  color: #333 !important;
}
#module-supercheckout-supercheckout button.cart_quantity_down.qty-btn.btn.btn-primary.btn-number,
#module-supercheckout-supercheckout button.cart_quantity_up.qty-btn.btn.btn-primary.btn-number,
.page-order button.cart_quantity_down.qty-btn.btn.btn-primary.btn-number,
.page-order button.cart_quantity_up.qty-btn.btn.btn-primary.btn-number,
#module-supercheckout-supercheckout .quantity-left-minus.btn.btn-primary,
#module-supercheckout-supercheckout .quantity-right-plus.btn.btn-primary,
.page-order .quantity-left-minus.btn.btn-primary,
.page-order .quantity-right-plus.btn.btn-primary {
  background-color: #fff !important;
  border-color: #ced4da !important;
  color: #495057 !important;
}
#module-supercheckout-supercheckout button.cart_quantity_down.qty-btn.btn.btn-primary.btn-number:hover,
#module-supercheckout-supercheckout button.cart_quantity_up.qty-btn.btn.btn-primary.btn-number:hover,
.page-order button.cart_quantity_down.qty-btn.btn.btn-primary.btn-number:hover,
.page-order button.cart_quantity_up.qty-btn.btn.btn-primary.btn-number:hover,
#module-supercheckout-supercheckout .quantity-left-minus.btn.btn-primary:hover,
#module-supercheckout-supercheckout .quantity-right-plus.btn.btn-primary:hover,
.page-order .quantity-left-minus.btn.btn-primary:hover,
.page-order .quantity-right-plus.btn.btn-primary:hover {
  background-color: #e9ecef !important;
  border-color: #adb5bd !important;
  color: #495057 !important;
}
#module-supercheckout-supercheckout .myAccountLi a,
#module-supercheckout-supercheckout .myAccountLi a:focus,
#module-supercheckout-supercheckout .myAccountLi a:hover,
.page-order .myAccountLi a,
.page-order .myAccountLi a:focus,
.page-order .myAccountLi a:hover {
  background-color: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
}
#module-supercheckout-supercheckout .pay-loader .loader,
.page-order .pay-loader .loader {
  color: var(--andrex-primary) !important;
}
/* Radio buttons - zaznaczone opcje logowania/dostawy/płatności */
#module-supercheckout-supercheckout .radio-inline input:checked + label,
#module-supercheckout-supercheckout .payment-option input:checked + label,
.page-order .radio-inline input:checked + label,
.page-order .payment-option input:checked + label {
  color: var(--andrex-foreground) !important;
}
#module-supercheckout-supercheckout .opc-container input[type=radio]:checked + label:before,
#module-supercheckout-supercheckout .opc-container .radio input:checked + label:before,
.page-order .opc-container input[type=radio]:checked + label:before,
.page-order .opc-container .radio input:checked + label:before {
  background-color: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
}
/* Radio checked - label:after (wewnętrzny wskaźnik) */
#module-supercheckout-supercheckout .opc-container [type="radio"]:checked + label:after,
.page-order .opc-container [type="radio"]:checked + label:after {
  background: var(--andrex-primary) !important;
}
#module-supercheckout-supercheckout .opc-container [type="radio"]:checked + label:before,
.page-order .opc-container [type="radio"]:checked + label:before {
  border-color: var(--andrex-primary) !important;
}
/* Link aktualizacji, przycisk Facebook login */
#module-supercheckout-supercheckout .opc-container a.kb_update_link,
.page-order .opc-container a.kb_update_link {
  color: var(--andrex-primary) !important;
}
#module-supercheckout-supercheckout .opc-container .azm-facebook,
.page-order .opc-container .azm-facebook {
  background: var(--andrex-primary) !important;
}
/* Mobile - przycisk Złóż zamówienie */
@media (max-width: 768px) {
  #module-supercheckout-supercheckout .opc-container .opc_confirmcart #supercheckout_confirm_order.placeorderButton,
  .page-order .opc-container .opc_confirmcart #supercheckout_confirm_order.placeorderButton {
    background: var(--andrex-primary) !important;
    border-color: var(--andrex-primary) !important;
  }
}

/* Tytuł produktu w koszyku – kolor #333 */
#module-supercheckout-supercheckout .shopping-cart-description .product-title,
.page-order .shopping-cart-description .product-title,
#module-supercheckout-supercheckout .shopping-cart-description .product-title a,
.page-order .shopping-cart-description .product-title a,
#module-supercheckout-supercheckout .shopping-cart-description .product-title span,
.page-order .shopping-cart-description .product-title span {
  color: #333 !important;
}
#module-supercheckout-supercheckout .shopping-cart-description .product-title a:hover,
.page-order .shopping-cart-description .product-title a:hover {
  color: var(--andrex-primary-hover) !important;
}
.shopping-cart-description .kblabel.label-success {
  color: #5cb85c !important;
  background-color: transparent !important;
}

/* Wysokość inputu ilości – wyrównanie z przyciskami +/- */
#module-supercheckout-supercheckout .quantity-section .input-group input.quantitybox,
#module-supercheckout-supercheckout .quantity-section .input-group input.input-number,
.page-order .quantity-section .input-group input.quantitybox,
.page-order .quantity-section .input-group input.input-number,
#module-supercheckout-supercheckout .opc_shoppingcart .input-group input#quantity,
.page-order .opc_shoppingcart .input-group input#quantity {
  height: 34px !important;
  min-height: 34px !important;
  padding: 6px 8px !important;
  line-height: 1.42857143 !important;
  box-sizing: border-box !important;
}
#module-supercheckout-supercheckout .quantity-section .input-group-btn > .btn,
#module-supercheckout-supercheckout .quantity-section .btn-number,
.page-order .quantity-section .input-group-btn > .btn,
.page-order .quantity-section .btn-number,
#module-supercheckout-supercheckout .opc_shoppingcart .input-group .btn-number,
.page-order .opc_shoppingcart .input-group .btn-number {
  height: 34px !important;
  min-height: 34px !important;
  padding: 6px 10px !important;
  line-height: 1.42857143 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
}

.product-comment-list-item {
  margin-bottom: 0;
  text-align: left !important;
}

#empty-product-comment {
  text-align: left !important;
}

/* ===== Andrex - Opinie klientów (design jak na screenie) ===== */
#product-comments-list-header {
  display: block;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.andrex-reviews-wrapper {
  padding: 2rem 0;
}
.andrex-reviews-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  margin-bottom: 2rem;
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--andrex-border);
}
.andrex-reviews-summary-left {
  flex: 0 0 auto;
}
.andrex-reviews-average {
  font-size: 3rem;
  font-weight: 700;
  color: var(--andrex-foreground);
  line-height: 1.2;
  margin-bottom: 0.25rem;
}
.andrex-reviews-summary-left .grade-stars {
  margin-bottom: 0.5rem;
  min-width: 130px;
  height: 24px;
  overflow: visible;
}
/* Naprawa gwiazdek – ostylowanie warstw i sprite */
.andrex-reviews-summary .grade-stars,
.andrex-comment-item .grade-stars {
  position: relative;
  isolation: isolate;
}
.andrex-reviews-summary .grade-stars .star-content,
.andrex-comment-item .grade-stars .star-content {
  overflow: visible;
}
.andrex-reviews-summary .grade-stars .star-content.star-empty,
.andrex-comment-item .grade-stars .star-content.star-empty {
  z-index: 1;
}
.andrex-reviews-summary .grade-stars .star-content.star-full,
.andrex-comment-item .grade-stars .star-content.star-full {
  z-index: 2;
}
.andrex-reviews-summary .grade-stars .star-content div.star,
.andrex-reviews-summary .grade-stars .star-content div.star-on,
.andrex-comment-item .grade-stars .star-content div.star,
.andrex-comment-item .grade-stars .star-content div.star-on {
  background-image: url('/modules/productcomments/views/img/stars.png');
  flex: 0 0 auto;
}
.andrex-reviews-based {
  font-size: 0.875rem;
  color: var(--andrex-muted-foreground);
  margin: 0;
}
.andrex-reviews-summary-right {
  flex: 1 1 200px;
  min-width: 180px;
}
.andrex-reviews-dist-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.andrex-reviews-dist-star .material-icons {
  font-size: 1rem;
  color: #facc15;
}
.andrex-reviews-dist-bar-wrap {
  flex: 1;
  display: flex;
  position: relative;
  height: 8px;
  background: #e5e5e5;
  border-radius: 4px;
  overflow: hidden;
}
.andrex-reviews-dist-bar {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  background: #facc15;
  border-radius: 4px;
  z-index: 1;
}
.andrex-reviews-dist-bar-bg {
  display: none;
}
.andrex-reviews-dist-pct {
  min-width: 2.5rem;
  text-align: right;
  color: var(--andrex-muted-foreground);
  font-size: 0.8125rem;
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum";
}
.andrex-reviews-list-header {
  display: none;
}
#product-comments-list-footer {
  min-height: unset;
  margin-top: 1.5rem;
}
#product-comments-list-footer .post-product-comment {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}
/* Modal opinii – upewnij się, że jest nad innymi elementami */
#post-product-comment-modal.product-comment-modal,
.product-comment-modal#post-product-comment-modal {
  z-index: 1060;
}
#post-product-comment-modal.product-comment-modal .modal-dialog {
  z-index: 100002 !important;
}
/* Pojedyncza opinia - avatar, badge, layout */
.andrex-comment-item {
  display: flex;
  align-items: flex-start;
  gap: 0;
  padding: 1.25rem 0;
  border-bottom: 1px solid var(--andrex-border);
}
.andrex-comment-item:last-child {
  border-bottom: none;
}
.andrex-comment-avatar {
  flex-shrink: 0;
}
.andrex-comment-avatar-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: linear-gradient(135deg, #facc15 0%, #eab308 100%);
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-transform: uppercase;
}
.andrex-comment-body {
  flex: 1;
  min-width: 0;
}
.andrex-comment-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-wrap: wrap;
  margin-bottom: 0.25rem;
}
.andrex-comment-author {
  font-weight: 600;
  color: var(--andrex-foreground);
  font-size: 0.9375rem;
}
.andrex-comment-badge {
  display: inline-block;
  padding: 0.125rem 0.5rem;
  font-size: 0.75rem;
  font-weight: 500;
  background: #fef9e7;
  color: #8a6d3b;
  border-radius: 4px;
}
.andrex-comment-rating-date {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}
.andrex-comment-rating-date .grade-stars {
  min-width: 100px;
}
.andrex-comment-item .grade-stars .star-content div.star-on,
.andrex-comment-item .grade-stars .star-content div.star-hover,
.andrex-reviews-summary .grade-stars .star-content div.star-on,
.andrex-reviews-summary .grade-stars .star-content div.star-hover {
  filter: hue-rotate(15deg) saturate(1.1);
}
.andrex-comment-date {
  font-size: 0.8125rem;
  color: var(--andrex-muted-foreground);
  margin-left: auto;
}
.andrex-comment-title {
  font-size: 1rem;
  font-weight: 600;
  color: var(--andrex-foreground);
  margin: 0 0 0.5rem;
}
.andrex-comment-content {
  font-size: 0.9375rem;
  color: var(--andrex-muted-foreground);
  line-height: 1.5;
  margin: 0 0 0.75rem;
}
.andrex-comment-item .comment-buttons {
  margin: 0;
}
.andrex-comment-item .comment-buttons a {
  color: var(--andrex-muted-foreground);
  font-size: 0.8125rem;
  margin-right: 0.75rem;
}

/* Verify price filter sync + manufacturer facets uppercase */
.st-range-inputs-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 15px;
}
.st-range-input-group {
  position: relative;
  flex: 1;
  display: flex;
  align-items: center;
}
.st-range-input-group .form-control {
  padding-right: 30px;
  padding-left: 10px;
  height: 40px;
  font-size: 0.875rem;
  border-radius: var(--andrex-radius);
  border: 1px solid var(--andrex-border);
  font-weight: 500;
  text-align: center;
  background: var(--andrex-background);
}
.st-range-input-group .form-control:focus {
  border-color: var(--andrex-primary);
  background: #fff;
}
.st-range-input-suffix {
  position: absolute;
  right: 10px;
  font-size: 0.75rem;
  color: var(--andrex-muted-foreground);
  pointer-events: none;
}
.st-range-input-separator {
  color: var(--andrex-muted-foreground);
  font-weight: 500;
  padding: 0 10px;
  line-height: 2.2;
}
.st-range-bar.with_inputs {
    padding-top: 5px;
}
#search_filters .st-range-inputs-wrapper {
    margin-top: 10px;
    display:flex
}

/* === Faceted Search / Filters Styling Fixes === */
#search_filters .facet .collapse,
#search_filters .facet .facet-title + div,
#search_filters .facet .title + div {
  max-height: 250px !important;
  overflow-y: auto !important;
  overflow-x: hidden;
  padding-right: 5px;
  margin-top: 5px;
}

/* Custom scrollbar for filters */
#search_filters .facet .collapse::-webkit-scrollbar,
#search_filters .facet .facet-title + div::-webkit-scrollbar,
#search_filters .facet .title + div::-webkit-scrollbar {
  width: 4px;
}
#search_filters .facet .collapse::-webkit-scrollbar-track,
#search_filters .facet .facet-title + div::-webkit-scrollbar-track,
#search_filters .facet .title + div::-webkit-scrollbar-track {
  background: #f1f1f1;
}
#search_filters .facet .collapse::-webkit-scrollbar-thumb,
#search_filters .facet .facet-title + div::-webkit-scrollbar-thumb,
#search_filters .facet .title + div::-webkit-scrollbar-thumb {
  background: #d1d1d1;
  border-radius: 4px;
}
#search_filters .facet .collapse::-webkit-scrollbar-thumb:hover,
#search_filters .facet .facet-title + div::-webkit-scrollbar-thumb:hover,
#search_filters .facet .title + div::-webkit-scrollbar-thumb:hover {
  background: #b1b1b1;
}

#search_filters .facet-label {
  display: flex !important;
  align-items: center !important;
  margin-bottom: 0 !important;
  cursor: pointer;
  padding: 4px 0 !important;
  width: 100%;
}

#search_filters .custom-checkbox {
  width: 18px !important;
  height: 18px !important;
  border: 1px solid #ccc !important;
  border-radius: 2px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  background: #fff;
  margin-right: 10px;
  flex-shrink: 0;
  position: relative;
}

#search_filters .custom-checkbox input[type="checkbox"] {
  position: absolute;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
  z-index: 2;
  margin: 0;
}

#search_filters .custom-checkbox span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

#search_filters .custom-checkbox .checkbox-checked {
  display: none !important;
  font-size: 16px !important;
  color: var(--andrex-primary);
}

#search_filters .custom-checkbox input[type="checkbox"]:checked + span {
  background: transparent;
}

#search_filters .custom-checkbox input[type="checkbox"]:checked + span .checkbox-checked {
  display: block !important;
}

#search_filters .facet_filter_item_li {
  padding: 0 !important;
}

#search_filters .search-link {
  display: inline-block;
  color: #333 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  flex-grow: 1;
}

#search_filters .magnitude {
  margin-left: 4px;
  color: #888;
  font-size: 13px;
}

/* Fix for icons plus/minus in facet title */
#search_filters .facet-title {
  font-weight: 700;
  text-transform: uppercase;
  font-size: 13px;
  color: #333;
  margin-bottom: 5px;
  padding: 10px 0;
  border-bottom: 1px solid var(--andrex-border);
}

/* === Plate Picker (Dobierz) Section === */
.andrex-plate-picker-section {
  margin-bottom: 2rem;
}
.andrex-pp-filters {
  margin-bottom: 1.25rem;
}
.andrex-pp-filter-group {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.andrex-pp-label {
  font-weight: 600;
  font-size: 0.9rem;
  color: #555;
  margin-right: 4px;
}
.andrex-pp-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.andrex-pp-filter-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  font-size: 0.78rem;
  font-weight: 500;
  color: #555;
  background: #f5f5f5;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  user-select: none;
}
.andrex-pp-filter-btn .badge-material {
  width: 18px;
  height: 18px;
  font-size: 0.65rem;
  line-height: 18px;
}
.andrex-pp-filter-btn:hover {
  background: #e8e8e8;
  border-color: #bbb;
  color: #333;
}
.andrex-pp-filter-btn.selected {
  background: var(--andrex-primary, #c8102e);
  color: #fff;
  border-color: var(--andrex-primary, #c8102e);
  font-weight: 600;
}

/* Fade animation for filtered items */
.andrex-plate-picker-section .andrex-cpl-item {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.andrex-plate-picker-section .andrex-cpl-item.pp-hiding {
  opacity: 0;
  transform: translateY(-4px);
}
.andrex-plate-picker-section .andrex-cpl-item.pp-showing {
  animation: ppFadeIn 0.25s ease forwards;
}
@keyframes ppFadeIn {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Plate picker item structure */
.andrex-plate-picker-section .andrex-cpl-link {
  display: flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: inherit;
  flex: 1;
  min-width: 0;
}
.andrex-cpl-action {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: auto;
  padding-left: 10px;
}
.andrex-pp-btn {
  font-size: 0.78rem;
  padding: 6px 14px;
  border-radius: 4px;
  white-space: nowrap;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s ease;
}
.andrex-pp-btn .material-icons {
  font-size: 16px;
}
.andrex-pp-btn-cart {
  background: var(--andrex-primary, #c8102e);
  color: #fff;
  border: 1px solid var(--andrex-primary, #c8102e);
}
.andrex-pp-btn-cart:hover {
  opacity: 0.85;
}
.andrex-pp-btn-cart.pp-btn-success {
  background: #2ecc71;
  border-color: #2ecc71;
}
.andrex-pp-btn-variants {
  background: #f5f5f5;
  color: #333;
  border: 1px solid #ddd;
}
.andrex-pp-btn-variants:hover {
  background: #e8e8e8;
  text-decoration: none;
  color: #333;
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.andrex-pp-btn .spin { animation: spin 0.8s linear infinite; }

/* === Product List "Inne Gatunki" (Category Products) === */
.andrex-category-products-list {
  margin: 2rem 0;
  padding-top: 1.5rem;
}

.andrex-cpl-container {
  max-height: 400px;
  overflow-y: auto;
  padding-right: 15px;
  border: 1px solid #f0f0f0;
  padding: 0.9rem;
  border-radius: 4px;
}
/* Scrollbar */
.andrex-cpl-container::-webkit-scrollbar { width: 6px; }
.andrex-cpl-container::-webkit-scrollbar-track { background: #f8f8f8; }
.andrex-cpl-container::-webkit-scrollbar-thumb { background: #ccc; border-radius: 3px; }

.andrex-cpl-item {
  display: flex;
  align-items: center;
  padding: 0.125rem 0;
  border-bottom: 1px solid #eee;
  text-decoration: none !important;
  color: inherit;
  transition: background 0.2s;
}
.andrex-cpl-item:last-child { border-bottom: none; }
.andrex-cpl-item:hover { background: #fafafa; }
.andrex-cpl-link {
  display: flex;
  align-items: center;
  gap: 1.125rem;
  flex: 1;
  min-width: 0;
  text-decoration: none !important;
  color: inherit;
}

/* Product page material badges */
.andrex-product-materials {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 12px 0 6px;
}
.andrex-pm-label {
  font-size: 0.82rem;
  color: #555;
  font-weight: 600;
}
.andrex-pm-badges {
  display: flex;
  gap: 5px;
}

.andrex-cpl-img { 
  width: 80px; 
  height: 80px; 
  flex-shrink: 0; 
  display: flex; 
  align-items: center; 
  justify-content: center;
  background: #fff;
}
.andrex-cpl-img img { max-width: 100%; max-height: 100%; object-fit: contain; }

.andrex-cpl-details { 
    flex-grow: 1; 
    display: flex; 
    flex-direction: column; 
    gap: 0.25rem; 
    overflow: hidden;
}
.andrex-cpl-header { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
.andrex-cpl-name { 
    font-size: 0.9rem; 
    color: #000; 
    overflow: hidden;
    text-overflow: ellipsis;
}

.andrex-cpl-badges { display: flex; gap: 4px; }
.badge-material {
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 900;
  color: #ccc;
  background-color: #f0f0f0;
  border-radius: 3px;
  text-transform: uppercase;
  font-family: Arial, sans-serif;
}
.badge-material.active { color: #fff; }
.badge-material.b-p.active { background-color: #4486c4; }
.badge-material.b-m.active { background-color: #ffd200; color: #333; }
.badge-material.b-k.active { background-color: #e30613; }
.badge-material.b-n.active { background-color: #6fb644; }
.badge-material.b-s.active { background-color: #ef7d00; }
.badge-material.b-h.active { background-color: #7d7d7d; }

.andrex-cpl-desc { 
  font-size: 0.8rem; 
  color: #666; 
  line-height: 1.25;
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}

.andrex-cpl-price-wrap { 
  display: flex; 
  gap: 4px; 
  align-items: stretch; 
  margin-left: auto;
  flex-shrink: 0;
}
.andrex-cpl-price-box { 
  display: flex; 
  flex-direction: column; 
  align-items: center;
  min-width: 80px;
}
.andrex-cpl-price-box .l { 
  font-size: 9px; 
  padding: 3px 6px; 
  width: 100%; 
  text-align: center; 
  border-radius: 4px 4px 0 0;
  text-transform: lowercase;
}
.andrex-cpl-price-box .v {
  font-size: 0.8rem;
  font-weight: 800;
  color: #000;
  padding: 5px;
  background: #f4f4f4;
  width: 100%;
  text-align: center;
  border-radius: 0 0 4px 4px;
  white-space: nowrap;
}
.andrex-cpl-price-box.exc .l { background: #f0c040; color: #333; font-weight: 600; }
.andrex-cpl-price-box.inc .l { background: #e0e0e0; color: #666; }

/* Dual price on product miniature cards */
.andrex-dual-price {
  display: flex;
  gap: 4px;
  align-items: stretch;
}
.andrex-price-box-exc,
.andrex-price-box-inc {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-width: 70px;
}
.andrex-price-label {
  font-size: 9px;
  padding: 2px 6px;
  width: 100%;
  text-align: center;
  border-radius: 4px 4px 0 0;
  text-transform: lowercase;
}
.andrex-price-box-exc .andrex-price-label {
  background: #f0c040;
  color: #333;
  font-weight: 600;
}
.andrex-price-box-inc .andrex-price-label {
  background: #e0e0e0;
  color: #666;
}
.andrex-price-val {
  font-size: 0.75rem;
  font-weight: 700;
  color: #000;
  padding: 4px 5px;
  background: #f4f4f4;
  width: 100%;
  text-align: center;
  border-radius: 0 0 4px 4px;
  white-space: nowrap;
}
.andrex-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-top: 0.5rem;
}

@media (max-width: 991px) {
    .andrex-cpl-price-wrap { flex-direction: column; }
}

@media (max-width: 767px) {
  .andrex-cpl-item { flex-direction: column; align-items: flex-start; text-align: left; gap: 1rem; }
  .andrex-cpl-price-wrap { margin-left: 0; width: 100%; flex-direction: row; }
  .andrex-cpl-price-box { flex: 1; }
}

/* === Plate Picker Widget === */
.andrex-plate-picker {
    background: #fff;
    padding: 1.5rem;
    border: 1px solid #eee;
    margin-bottom: 2rem;
    border-radius: 4px;
}
.andrex-pp-row {
    display: flex;
    align-items: center;
    gap: 2rem;
    margin-bottom: 1.5rem;
}
.andrex-pp-banner {
    border: 4px solid #f0c040;
    padding: 10px 20px;
    text-decoration: none !important;
    display: inline-block;
    transition: transform 0.2s;
}
.andrex-pp-banner:hover { transform: scale(1.02); }
.andrex-pp-banner-inner span {
    font-size: 1.6rem;
    font-weight: 400;
    color: #333;
    display: block;
}
.andrex-pp-banner-text {
    font-size: 1.45rem;
    font-weight: 800;
    color: #000;
    line-height: 1.2;
    max-width: 360px;
}
.andrex-pp-filters {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}
.andrex-pp-filter-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
}
.andrex-pp-label {
    font-size: 0.95rem;
    font-weight: 600;
    color: #333;
}
.andrex-pp-badges {
    display: flex;
    gap: 8px;
}
.andrex-pp-badges .badge-material {
    cursor: pointer;
    transition: opacity 0.2s;
    background-color: #f0f0f0;
    color: #ccc;
    width: 18px;
    height: 18px;
    font-size: 0.6rem;
    border-radius: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}
.andrex-pp-badges .badge-material[data-material="P"] { background-color: #4486c4; color: #fff; }
.andrex-pp-badges .badge-material[data-material="M"] { background-color: #ffd200; color: #333; }
.andrex-pp-badges .badge-material[data-material="K"] { background-color: #e30613; color: #fff; }
.andrex-pp-badges .badge-material[data-material="N"] { background-color: #6fb644; color: #fff; }
.andrex-pp-badges .badge-material[data-material="S"] { background-color: #ef7d00; color: #fff; }
.andrex-pp-badges .badge-material[data-material="H"] { background-color: #7d7d7d; color: #fff; }

.andrex-pp-badges .badge-material.inactive {
    opacity: 0.3;
    filter: grayscale(1);
}

.andrex-pp-radius {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}
.btn-radius {
    background: #fff;
    border: 1px solid #ccc;
    padding: 8px 15px;
    min-width: 60px;
    font-size: 1.1rem;
    font-weight: 400;
    color: #333;
    cursor: pointer;
    transition: all 0.2s;
    border-radius: 2px;
}
.btn-radius:hover { border-color: #000; }
.btn-radius.active {
    border-color: #000;
    background: #f8f8f8;
    font-weight: 600;
}

@media (max-width: 767px) {
    .andrex-pp-row { flex-direction: column; align-items: flex-start; gap: 1rem; }
    .andrex-pp-banner-text { font-size: 1.2rem; }
}

/* ==============================================
   Category SEO Description - Read More Toggle
   ============================================== */
.andrex-cat-seo-section {
    margin-top: 2.5rem;
    border-top: 1px solid #eee;
    padding-top: 2rem;
}
.andrex-cat-seo-desc {
    position: relative;
    max-height: 200px;
    overflow: hidden;
    transition: max-height 0.4s ease;
}
.andrex-cat-seo-desc.expanded {
    max-height: 5000px;
}
.andrex-cat-seo-fade {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 80px;
    background: linear-gradient(to bottom, rgba(255,255,255,0) 0%, #fff 100%);
    pointer-events: none;
    transition: opacity 0.3s ease;
}
.andrex-cat-seo-desc.expanded .andrex-cat-seo-fade {
    opacity: 0;
}
.andrex-cat-seo-content {
    font-size: 0.92rem;
    line-height: 1.7;
    color: #444;
}
.andrex-cat-seo-content p {
    margin-bottom: 0.8rem;
}
.andrex-cat-seo-content strong {
    color: #222;
    font-weight: 600;
}
.andrex-cat-seo-content ul {
    margin: 0.8rem 0;
    padding-left: 1.5rem;
    list-style: disc;
}
.andrex-cat-seo-content ul li {
    margin-bottom: 0.4rem;
    line-height: 1.6;
}
.andrex-cat-seo-toggle {
    display: flex;
    align-items: center;
    gap: 0.3rem;
    margin-top: 0.7rem;
    padding: 0.4rem 0;
    background: none;
    border: none;
    cursor: pointer;
    color: #333;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    transition: color 0.2s;
}
.andrex-cat-seo-toggle:hover {
    color: #000;
}
.andrex-cat-seo-toggle .toggle-icon {
    font-size: 1.2rem;
    transition: transform 0.3s ease;
}
.andrex-cat-seo-toggle.expanded .toggle-icon {
    transform: rotate(180deg);
}

/* Category FAQ Section on category pages */
#js-product-list-footer .product-faq-section {
    margin-top: 2rem;
    padding-top: 1.5rem;
}

/* Simplified FAQ items */
.faq-card {
    border-bottom: 1px solid #eee;
}
.faq-card:last-child {
    border-bottom: none;
}
.faq-toggle-simple {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 1rem 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    gap: 1rem;
}
.faq-toggle-simple:hover .faq-q {
    color: #000;
}
.faq-toggle-simple .faq-q {
    font-size: 0.92rem;
    font-weight: 600;
    color: #333;
    margin: 0;
    transition: color 0.2s;
}
.faq-chevron {
    flex-shrink: 0;
    color: #999;
    transition: transform 0.3s ease;
}
.faq-toggle-simple.open .faq-chevron {
    transform: rotate(180deg);
}
.faq-answer-text {
    padding: 0 0 1rem 0;
    font-size: 0.88rem;
    line-height: 1.7;
    color: #555;
}


/* Filter checkbox active state */
#search_filters .facet-label.active .custom-checkbox span,
#search_filters .facet-label.active .custom-checkbox .color {
    margin-right: 0;
}

/* Badge "bez vat" above price in product miniatures */
.andrex-price-badge {
  display: inline-block;
  background: var(--andrex-primary);
  color: var(--andrex-primary-foreground);
  font-size: 0.65rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.15rem 0.5rem;
  border-radius: 3px;
  margin-bottom: 0.15rem;
}

/* Filter facet label margin */
#search_filters .facet .facet-label a,
#search_filters_brands .facet .facet-label a,
#search_filters_suppliers .facet .facet-label a {
  margin-left: 2px;
}

/* Inline search bar in navbar — uses PrestaShop search_widget with autocomplete */
.andrex-navbar-search-inline {
  display: none;
}
@media (min-width: 1200px) {
  .andrex-navbar-search-inline {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    margin-left: 0.5rem;
    position: relative;
    overflow: visible;
  }
  .andrex-navbar-search-inline #search_widget {
    display: block !important;
    float: none;
    margin: 0;
    min-width: auto;
    width: auto;
    overflow: visible !important;
  }
  .andrex-navbar-search-inline #search_widget form {
    display: flex;
    align-items: center;
    position: relative;
  }
  .andrex-navbar-search-inline #search_widget form input[type="text"] {
    width: 180px;
    height: 2.1rem;
    padding: 0.25rem 2.2rem 0.25rem 0.75rem;
    font-size: 0.82rem;
    border: 1px solid var(--andrex-border);
    border-radius: var(--andrex-radius);
    background: #fff;
    color: var(--andrex-foreground);
    outline: none;
    transition: border-color 0.2s;
  }
  .andrex-navbar-search-inline #search_widget form input[type="text"]:focus {
    border-color: var(--andrex-primary);
  }
  .andrex-navbar-search-inline #search_widget form input[type="text"]::placeholder {
    color: var(--andrex-muted-foreground);
    font-size: 0.8rem;
  }
  .andrex-navbar-search-inline #search_widget form button[type="submit"] {
    position: absolute;
    right: 2px;
    top: 50%;
    transform: translateY(-50%);
    border: none;
    background: var(--andrex-primary);
    color: var(--andrex-primary-foreground);
    width: 1.8rem;
    height: 1.7rem;
    border-radius: calc(var(--andrex-radius) - 2px);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    padding: 0;
  }
  .andrex-navbar-search-inline #search_widget form button[type="submit"]:hover {
    background: var(--andrex-primary-hover);
  }
  .andrex-navbar-search-inline #search_widget form button[type="submit"] i {
    font-size: 1rem;
  }
  /* Hide material-icons search/clear inside inline widget */
  .andrex-navbar-search-inline #search_widget i.search,
  .andrex-navbar-search-inline #search_widget i.clear {
    display: none !important;
  }
  /* Hide search trigger icon when inline search is visible */
  .andrex-search-trigger {
    display: none !important;
  }
}

/* jQuery UI autocomplete dropdown — global z-index fix (rendered outside container) */
.ui-autocomplete.searchbar-autocomplete,
ul.ui-autocomplete {
  z-index: 99999 !important;
  background: #fff;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  box-shadow: 0 8px 24px rgba(0,0,0,0.15);
  padding: 0.25rem 0;
  max-height: 400px;
  overflow-y: auto;
  overflow-x: hidden;
}
.ui-autocomplete .ui-menu-item {
  padding: 0.4rem 0.75rem;
  font-size: 0.85rem;
  cursor: pointer;
  transition: background 0.15s;
  list-style: none;
}
.ui-autocomplete .ui-menu-item:hover,
.ui-autocomplete .ui-state-active,
.ui-autocomplete .ui-state-focus {
  background: var(--andrex-secondary) !important;
  color: var(--andrex-foreground) !important;
  border: none !important;
}
.ui-autocomplete .ui-menu-item a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  text-decoration: none;
  color: var(--andrex-foreground);
  padding: 0.3rem 0;
}
.ui-autocomplete .autocomplete-thumbnail {
  width: 40px;
  height: 40px;
  object-fit: contain;
  border-radius: 4px;
  flex-shrink: 0;
}

/* Auto-mobile menu: when JS detects overflow, add this class */
.andrex-menu-overflow .andrex-category-menu {
  display: none !important;
}
.andrex-menu-overflow .andrex-hamburger-wrapper {
  display: block !important;
}
.andrex-menu-overflow .andrex-hamburger {
  display: flex !important;
}

/* ==========================================================================
   GLOBAL HOVER COLOR OVERRIDE — replace #24b9d7 with site main color
   ========================================================================== */
#subcategories ul li .subcategory-name:hover,
.block-categories .arrows .arrow-down:hover,
.block-categories .arrows .arrow-right:hover,
.block-categories .collapse-icons .add:hover,
.block-categories .collapse-icons .remove:hover,
.cart-grid-body a.label:hover {
  color: var(--andrex-primary-hover) !important;
}
a:hover,
.breadcrumb a:hover,
.product-title a:hover,
.category-sub-menu a:hover,
h5 > a:hover,
.footer-container a:hover {
  color: var(--andrex-primary-hover) !important;
}

/* ==========================================================================
   SUPERCHECKOUT — kolory pasujące do strony
   ========================================================================== */
.opc-container .login-options [type="radio"]:checked + label {
  background: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
}
.opc-container [type="radio"]:checked + label:after {
  background: var(--andrex-primary) !important;
}
#button-login,
.button-save-address,
.opc-container .opc_confirmcart .btn.btn-success {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: var(--andrex-primary-foreground) !important;
}
#button-login:hover,
.button-save-address:hover,
.opc-container .opc_confirmcart .btn.btn-success:hover {
  background: var(--andrex-primary-hover) !important;
  border-color: var(--andrex-primary-hover) !important;
}
.form-group.login-options .radio-inline label {
  border-color: var(--andrex-border) !important;
  background: var(--andrex-secondary) !important;
}
.pay-modal-heading {
  background: var(--andrex-primary) !important;
}

/* ==========================================================================
   CART — layout, ceny netto/brutto, cechy materiału
   ========================================================================== */
.cart-overview.js-cart {
  padding: 0;
}
.cart-grid-body .product-line-grid-left {
  padding-right: 5px !important;
}
.cart-grid-body .product-line-grid-body {
  padding-left: 5px !important;
}
.cart-grid-body .product-line-info a.label {
  font-size: 0.9rem;
  line-height: 1.3;
  color: var(--andrex-foreground);
  font-weight: 600;
}

/* Quantity inline — inside body */
.cart-qty-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  justify-content: flex-end;
}
.cart-qty-inline .js-cart-line-product-quantity {
  width: 52px;
  max-width: 52px;
  padding: 4px 6px;
  font-size: 0.88rem;
  text-align: center;
  border: 1px solid var(--andrex-border);
  border-radius: var(--andrex-radius);
  background: #fff;
  color: var(--andrex-foreground);
}
.cart-qty-inline .js-cart-line-product-quantity:focus {
  border-color: var(--andrex-primary);
  outline: none;
}

/* Right column — total price + delete in flex row */
.cart-grid-body .product-line-grid-right {
  display: flex;
  align-items: center;
}
.cart-right-row {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 16px;
  width: 100%;
}
/* Body column wider */
.cart-grid-body .product-line-grid-body {
  flex: 0 0 50%;
  max-width: 50%;
}

/* --- Cart price block: unit price --- */
.cart-price-block {
  margin-top: 6px;
}
.cart-price-block .cart-price-brutto {
  display: flex;
  align-items: baseline;
  gap: 4px;
}
.cart-price-block .cart-price-brutto .price {
  font-size: 1rem;
  font-weight: 700;
  color: var(--andrex-foreground);
}
.cart-price-block .cart-price-brutto .cart-tax-tag {
  font-size: 0.68rem;
  font-weight: 500;
  color: #999;
  letter-spacing: 0.03em;
}
.cart-price-block .cart-price-netto {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-top: 1px;
}
.cart-price-block .cart-price-netto .price {
  font-size: 0.82rem;
  font-weight: 500;
  color: #777;
}
.cart-price-block .cart-price-netto .cart-tax-tag {
  font-size: 0.66rem;
  font-weight: 400;
  color: #aaa;
  letter-spacing: 0.03em;
}

/* --- Cart total price (right column) --- */
.cart-total-block {
  text-align: right;
}
.cart-total-block .cart-total-brutto {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
}
.cart-total-block .cart-total-brutto .price {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--andrex-foreground);
}
.cart-total-block .cart-total-brutto .cart-tax-tag {
  font-size: 0.68rem;
  font-weight: 500;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.cart-total-block .cart-total-netto {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 4px;
  margin-top: 1px;
}
.cart-total-block .cart-total-netto .price {
  font-size: 0.82rem;
  font-weight: 500;
  color: #777;
}
.cart-total-block .cart-total-netto .cart-tax-tag {
  font-size: 0.66rem;
  font-weight: 400;
  color: #aaa;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

/* Material badges in cart */
.cart-material-badges {
  display: flex;
  gap: 3px;
  margin-top: 4px;
  flex-wrap: wrap;
}
.cart-material-badges .letter-box {
  width: 20px;
  height: 20px;
  font-size: 0.65rem;
}

/* Product line grid separator */
.cart-grid-body .cart-item {
  border-bottom: 1px solid var(--andrex-border);
}
.cart-grid-body .cart-item:last-child {
  border-bottom: none;
}

/* ==========================================================================
   #authentication — mniejszy h1
   ========================================================================== */
#authentication h1,
#authentication .page-header h1 {
  font-size: 1.4rem;
  margin-bottom: 1rem;
}

/* ==========================================================================
   SUPERCHECKOUT — pełne ostylowanie pasujące do strony
   ========================================================================== */
/* --- Section headers --- */
#supercheckout-fieldset .supercheckout-numbers {
  color: var(--andrex-foreground) !important;
  font-weight: 600 !important;
}
/* --- Login options buttons --- */
#supercheckout-fieldset .form-group.login-options .radio-inline label,
#supercheckout-fieldset .login-options label {
  border: 1px solid var(--andrex-border) !important;
  border-radius: var(--andrex-radius) !important;
  background: #fff !important;
  color: var(--andrex-foreground) !important;
  transition: all 0.2s !important;
}
#supercheckout-fieldset .login-options label:hover,
#supercheckout-fieldset .login-options label.active {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: #fff !important;
}
/* --- Custom radio buttons --- */
#supercheckout-fieldset input[type="radio"] {
  accent-color: var(--andrex-primary) !important;
}
#supercheckout-fieldset .login-options input[type="radio"]:checked + label {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: #fff !important;
}
#supercheckout-fieldset input[type="radio"]:checked + label,
#supercheckout-fieldset input[type="radio"]:checked + span {
  color: var(--andrex-foreground) !important;
}
/* Radio dot override — native + custom */
#supercheckout-fieldset input[type="radio"]:checked {
  border-color: var(--andrex-primary) !important;
}
/* Shipping method selected row highlight */
#supercheckout-fieldset .shipping_method_selected,
#supercheckout-fieldset tr.selected_shipping,
#supercheckout-fieldset .carrier_selected {
  background: rgba(250,199,46,0.08) !important;
}
/* --- Form inputs --- */
#supercheckout-fieldset input[type="text"],
#supercheckout-fieldset input[type="email"],
#supercheckout-fieldset input[type="password"],
#supercheckout-fieldset input[type="tel"],
#supercheckout-fieldset select,
#supercheckout-fieldset textarea {
  border: 1px solid var(--andrex-border) !important;
  border-radius: var(--andrex-radius) !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.88rem !important;
  transition: border-color 0.2s !important;
  background: #fff !important;
}
#supercheckout-fieldset input[type="text"]:focus,
#supercheckout-fieldset input[type="email"]:focus,
#supercheckout-fieldset input[type="password"]:focus,
#supercheckout-fieldset input[type="tel"]:focus,
#supercheckout-fieldset select:focus,
#supercheckout-fieldset textarea:focus {
  border-color: var(--andrex-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(250,199,46,0.15) !important;
}
/* --- Buttons --- */
#supercheckout-fieldset .orangebuttonapply,
#supercheckout-fieldset #button-coupon {
  background: var(--andrex-primary) !important;
  border: none !important;
  border-radius: var(--andrex-radius) !important;
  color: #fff !important;
  font-weight: 600 !important;
  padding: 0.5rem 1.2rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.03em !important;
  transition: background 0.2s !important;
}
#supercheckout-fieldset .orangebuttonapply:hover,
#supercheckout-fieldset #button-coupon:hover {
  background: var(--andrex-primary-hover) !important;
}
#supercheckout-fieldset .btn-primary,
#supercheckout-fieldset #button-login {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: #fff !important;
}
#supercheckout-fieldset .btn-primary:hover,
#supercheckout-fieldset #button-login:hover {
  background: var(--andrex-primary-hover) !important;
  border-color: var(--andrex-primary-hover) !important;
}
/* --- Confirm order button --- */
#supercheckout-fieldset .opc_confirmcart,
#supercheckout-fieldset .opc_confirmcart .btn {
  background: var(--andrex-primary) !important;
  border-color: var(--andrex-primary) !important;
  color: #fff !important;
  border-radius: var(--andrex-radius) !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
}
#supercheckout-fieldset .opc_confirmcart:hover,
#supercheckout-fieldset .opc_confirmcart .btn:hover {
  background: var(--andrex-primary-hover) !important;
  border-color: var(--andrex-primary-hover) !important;
}
/* --- Checkbox --- */
#supercheckout-fieldset input[type="checkbox"] {
  accent-color: var(--andrex-primary) !important;
}
/* --- Links --- */
#supercheckout-fieldset a {
  color: var(--andrex-primary) !important;
}
#supercheckout-fieldset a:hover {
  color: var(--andrex-primary-hover) !important;
}
/* --- Payment modal --- */
.pay-modal-heading {
  background: var(--andrex-primary) !important;
  color: #fff !important;
}
/* --- Error messages --- */
#supercheckout-fieldset .supercheckout-error {
  border-color: #dc3545 !important;
  color: #dc3545 !important;
}
/* --- Summary totals --- */
#supercheckout-fieldset .supercheckout-totals .title {
  color: var(--andrex-foreground) !important;
  font-weight: 600 !important;
}
/* --- Confirm cart container (gold box fix) --- */
#supercheckout-fieldset .opc_confirmcart.supercheckout-blocks {
  background: #fff !important;
  border: 1px solid var(--andrex-border) !important;
  border-radius: var(--andrex-radius) !important;
  padding: 20px !important;
}
#supercheckout-fieldset .opc_confirmcart .js-conditions-to-approve {
  color: var(--andrex-foreground) !important;
  text-transform: none !important;
  font-size: 0.85rem !important;
  margin-bottom: 12px !important;
}
#supercheckout-fieldset .opc_confirmcart .js-conditions-to-approve a {
  color: var(--andrex-primary) !important;
  font-weight: 600 !important;
}
#supercheckout-fieldset #supercheckout_confirm_order {
  background: var(--andrex-primary) !important;
  color: #fff !important;
  border: none !important;
  border-radius: var(--andrex-radius) !important;
  padding: 14px 28px !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
  cursor: pointer !important;
  text-align: center !important;
  width: 100% !important;
  transition: background 0.2s !important;
}
#supercheckout-fieldset #supercheckout_confirm_order:hover {
  background: var(--andrex-primary-hover) !important;
}
/* --- Comment textarea --- */
#supercheckout-fieldset #supercheckout-comment_order {
  border: 1px solid var(--andrex-border) !important;
  border-radius: var(--andrex-radius) !important;
  padding: 10px !important;
  font-size: 0.88rem !important;
  background: #fff !important;
  resize: vertical !important;
}
#supercheckout-fieldset #supercheckout-comment_order:focus {
  border-color: var(--andrex-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(250,199,46,0.15) !important;
}

/* Hide duplicate search widget in modal */
.andrex-search-modal-inner #search_widget ~ #search_widget {
  display: none !important;
}

/* Sort dropdown: remove blue hover, fix overflow */
.brands-sort .select-list:hover,
.products-sort-order .select-list:hover,
.suppliers-sort .select-list:hover {
  background: var(--andrex-primary) !important;
  color: #000 !important;
}
.products-sort-order .dropdown-menu {
  max-width: 280px;
  white-space: normal;
}

/* Desktop: category dropdown on hover */
@media (min-width: 992px) {
  .andrex-category-menu:not(.andrex-cat-open) .andrex-cat-item.andrex-cat-has-children {
    position: relative;
  }
  .andrex-category-menu:not(.andrex-cat-open) .andrex-cat-dropdown {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    min-width: 220px;
    background: var(--andrex-card);
    border: 1px solid var(--andrex-border);
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    padding: 0.5rem 0;
  }
  .andrex-category-menu:not(.andrex-cat-open) .andrex-cat-item.andrex-cat-has-children:hover > .andrex-cat-dropdown {
    display: block;
  }
  .andrex-category-menu:not(.andrex-cat-open) .andrex-cat-sublink {
    display: block;
    padding: 0.5rem 1rem;
    color: var(--andrex-foreground);
    text-decoration: none;
    font-size: 0.85rem;
  }
  .andrex-category-menu:not(.andrex-cat-open) .andrex-cat-sublink:hover {
    background: var(--andrex-secondary);
    color: var(--andrex-primary);
  }
}

/* Force dual price boxes side-by-side */
.andrex-dual-price {
  display: flex !important;
  flex-direction: row !important;
  gap: 4px;
  align-items: stretch;
  flex: 1;
}

/* Buttons: no text-transform */
.btn-primary,
.btn-secondary {
  text-transform: none !important;
}

/* CTA write button hover */
.andrex-cta-btn-write:hover {
  background: #dfab00 !important;
  border-color: #dfab00 !important;
  color: #000 !important;
}

/* CMS pages: hide duplicate page-header */
#cms .page-header,
.page-cms .page-header {
  display: none;
}

/* CMS content: constrain images and tables */
.page-content img,
.andrex-section-inner img {
  max-width: 100%;
  height: auto;
}
.page-content table,
.andrex-section-inner table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  background: var(--andrex-card);
  border: 1px solid var(--andrex-border);
  border-radius: 8px;
  overflow: hidden;
}
.page-content table td,
.page-content table th,
.andrex-section-inner table td,
.andrex-section-inner table th {
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--andrex-border);
  text-align: left;
  vertical-align: top;
}
/* Style first column like .andrex-data-sheet-name */
.page-content table td:first-child,
.page-content table th:first-child,
.andrex-section-inner table td:first-child,
.andrex-section-inner table th:first-child {
  font-weight: 600;
  color: var(--andrex-muted-foreground);
  width: 35%;
  background: rgba(240, 240, 240, 0.4);
}
.page-content table tr:last-child td,
.page-content table tr:last-child th,
.andrex-section-inner table tr:last-child td,
.andrex-section-inner table tr:last-child th {
  border-bottom: none;
}

/* Homepage hook-5: hide module internal titles and links */
.andrex-home-hook-5 .products-section-title,
.andrex-home-hook-5 .all-product-link {
  display: none !important;
}


.andrex-account-card {
  text-decoration: none !important;
}

/* Custom table padding for Supercheckout and specific sections */
#module-supercheckout-supercheckout th,
#module-supercheckout-supercheckout td{
  padding: 0 !important;
}

#products .up .btn-secondary,
#products .up .btn-tertiary {
  color: #fff;
}

