/**
 * Shared Pocket Monster product archive styles.
 *
 * Loaded only on the shop, WooCommerce product categories and BeRocket
 * expansion archives. Page-specific heroes/content remain in their own files.
 */

/* =========================================================
   Product category sidebar
   ========================================================= */

.pm-product-archive .pm-category-sidebar,
.pm-product-archive .widget_product_categories {
  color: var(--pm-white);
}

/* Sidebar title */
.pm-product-archive .pm-category-sidebar .widget-title,
.pm-product-archive .pm-category-sidebar .wp-block-heading,
.pm-product-archive .pm-category-sidebar .wc-block-product-categories__title,
.pm-product-archive .widget_product_categories .widget-title,
.pm-product-archive .widget_product_categories .wp-block-heading,
.pm-product-archive .widget_product_categories .wc-block-product-categories__title {
  display: block;
  width: 100%;
  margin: 0 0 18px;
  padding: 12px 18px;
  background: var(--pm-blue);
  color: var(--pm-white);
  font-family: var(--pm-font-main);
  font-size: 18px;
  font-weight: 900;
  line-height: 1.1;
  text-transform: uppercase;
}

/* Reset category list */
.pm-product-archive .pm-category-sidebar ul,
.pm-product-archive .widget_product_categories ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Category item */
.pm-product-archive .pm-category-sidebar li,
.pm-product-archive .widget_product_categories li {
  position: relative;
  margin: 0;
  padding: 0;
}

/* Top-level category link */
.pm-product-archive .pm-category-sidebar li > a,
.pm-product-archive .widget_product_categories li > a {
  position: relative;
  display: block;
  padding: 12px 98px 12px 22px;
  color: var(--pm-white);
  font-family: var(--pm-font-main);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.25;
  text-decoration: none;
  text-transform: uppercase;
  transition: color 160ms ease;
}

/* Circle bullet */
.pm-product-archive .pm-category-sidebar li > a::before,
.pm-product-archive .widget_product_categories li > a::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 0;
  width: 10px;
  height: 10px;
  border: 1px solid color-mix(in srgb, var(--pm-white) 55%, transparent);
  border-radius: 50%;
  box-sizing: border-box;
  background: transparent;
  transition: background-color 160ms ease, border-color 160ms ease;
}

/* Count */
.pm-product-archive .pm-category-sidebar .count,
.pm-product-archive .widget_product_categories .count {
  position: absolute;
  top: 12px;
  right: 44px;
  color: var(--pm-text-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.25;
  white-space: nowrap;
}

/* Toggle button */
.pm-product-archive .pm-category-sidebar .cats-toggle,
.pm-product-archive .widget_product_categories .cats-toggle {
  position: absolute;
  top: 7px;
  right: 0;
  width: 28px;
  height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--pm-white);
  cursor: pointer;
  transition: color 160ms ease;
}

/* Down arrow */
.pm-product-archive .pm-category-sidebar .cats-toggle::before,
.pm-product-archive .widget_product_categories .cats-toggle::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translate(-50%, -65%) rotate(45deg);
  transition: transform 160ms ease, color 160ms ease;
}

.pm-product-archive .pm-category-sidebar .cats-toggle::after,
.pm-product-archive .widget_product_categories .cats-toggle::after {
  display: none;
}

/* Arrow state when open */
.pm-product-archive .pm-category-sidebar .cats-toggle.toggle-active::before,
.pm-product-archive .widget_product_categories .cats-toggle.toggle-active::before {
  transform: translate(-50%, -35%) rotate(225deg);
}

/* Hover and active state */
.pm-product-archive .pm-category-sidebar li > a:hover,
.pm-product-archive .pm-category-sidebar .current-cat > a,
.pm-product-archive .pm-category-sidebar .current-cat-parent > a,
.pm-product-archive .pm-category-sidebar .current-cat-ancestor > a,
.pm-product-archive .widget_product_categories li > a:hover,
.pm-product-archive .widget_product_categories .current-cat > a,
.pm-product-archive .widget_product_categories .current-cat-parent > a,
.pm-product-archive .widget_product_categories .current-cat-ancestor > a {
  color: var(--pm-yellow);
}

/* Hover and active bullet */
.pm-product-archive .pm-category-sidebar li > a:hover::before,
.pm-product-archive .pm-category-sidebar .current-cat > a::before,
.pm-product-archive .pm-category-sidebar .current-cat-parent > a::before,
.pm-product-archive .pm-category-sidebar .current-cat-ancestor > a::before,
.pm-product-archive .widget_product_categories li > a:hover::before,
.pm-product-archive .widget_product_categories .current-cat > a::before,
.pm-product-archive .widget_product_categories .current-cat-parent > a::before,
.pm-product-archive .widget_product_categories .current-cat-ancestor > a::before {
  background: var(--pm-yellow);
  border-color: var(--pm-yellow);
}

/* Toggle arrow hover and active state */
.pm-product-archive .pm-category-sidebar li:hover > .cats-toggle,
.pm-product-archive .pm-category-sidebar .current-cat > .cats-toggle,
.pm-product-archive .pm-category-sidebar .current-cat-parent > .cats-toggle,
.pm-product-archive .pm-category-sidebar .current-cat-ancestor > .cats-toggle,
.pm-product-archive .widget_product_categories li:hover > .cats-toggle,
.pm-product-archive .widget_product_categories .current-cat > .cats-toggle,
.pm-product-archive .widget_product_categories .current-cat-parent > .cats-toggle,
.pm-product-archive .widget_product_categories .current-cat-ancestor > .cats-toggle {
  color: var(--pm-yellow);
}

/* Child categories */
.pm-product-archive .pm-category-sidebar .children,
.pm-product-archive .widget_product_categories .children {
  display: none;
  padding: 0 0 12px 20px;
}

.pm-product-archive .pm-category-sidebar .show-children > .children,
.pm-product-archive .widget_product_categories .show-children > .children {
  display: block;
}

/* Child category links */
.pm-product-archive .pm-category-sidebar .children li > a,
.pm-product-archive .widget_product_categories .children li > a {
  display: inline-block;
  padding: 7px 0 7px 22px;
  color: var(--pm-white);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.25;
  text-transform: none;
}

/* Child bullet */
.pm-product-archive .pm-category-sidebar .children li > a::before,
.pm-product-archive .widget_product_categories .children li > a::before {
  top: 13px;
  width: 10px;
  height: 10px;
  border-color: color-mix(in srgb, var(--pm-white) 55%, transparent);
  background: transparent;
}

/* Child count */
.pm-product-archive .pm-category-sidebar .children .count,
.pm-product-archive .widget_product_categories .children .count {
  position: static;
  display: inline;
  margin-left: 4px;
  color: var(--pm-text-muted);
  font-size: 13px;
  font-weight: 400;
  line-height: inherit;
}

/* Child hover and active state */
.pm-product-archive .pm-category-sidebar .children li > a:hover,
.pm-product-archive .pm-category-sidebar .children .current-cat > a,
.pm-product-archive .pm-category-sidebar .children .current-cat-parent > a,
.pm-product-archive .pm-category-sidebar .children .current-cat-ancestor > a,
.pm-product-archive .widget_product_categories .children li > a:hover,
.pm-product-archive .widget_product_categories .children .current-cat > a,
.pm-product-archive .widget_product_categories .children .current-cat-parent > a,
.pm-product-archive .widget_product_categories .children .current-cat-ancestor > a {
  color: var(--pm-yellow);
}

/* Child bullet hover and active state */
.pm-product-archive .pm-category-sidebar .children li > a:hover::before,
.pm-product-archive .pm-category-sidebar .children .current-cat > a::before,
.pm-product-archive .pm-category-sidebar .children .current-cat-parent > a::before,
.pm-product-archive .pm-category-sidebar .children .current-cat-ancestor > a::before,
.pm-product-archive .widget_product_categories .children li > a:hover::before,
.pm-product-archive .widget_product_categories .children .current-cat > a::before,
.pm-product-archive .widget_product_categories .children .current-cat-parent > a::before,
.pm-product-archive .widget_product_categories .children .current-cat-ancestor > a::before {
  background: var(--pm-yellow);
  border-color: var(--pm-yellow);
}

/* Child toggles */
.pm-product-archive .pm-category-sidebar .children .cats-toggle,
.pm-product-archive .widget_product_categories .children .cats-toggle {
  top: 3px;
}

/* =========================================================
   FiboFilters - horizontal buttons
   ========================================================= */

.pm-product-archive .fibofilters-horizontal-filters-container {
  margin: 22px 0 12px;
}

.pm-product-archive .fibofilters-horizontal-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

/* Top filter buttons only */
.pm-product-archive .fibofilters-horizontal-filters .fibofilters-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid var(--pm-grey);
  border-radius: 0;
  background: var(--pm-grey-dark);
  color: var(--pm-white);
  font-family: var(--pm-font-main);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  box-shadow: none;
  transition:
    color 160ms ease,
    border-color 160ms ease,
    background-color 160ms ease;
}

.pm-product-archive .fibofilters-horizontal-filters .fibofilters-button:hover,
.pm-product-archive .fibofilters-horizontal-filters .fibofilters-button[aria-expanded="true"] {
  border-color: var(--pm-yellow);
  background: var(--pm-grey-dark);
  color: var(--pm-yellow);
}

.pm-product-archive .fibofilters-horizontal-filters .fibofilters-button:focus {
  outline: 1px solid var(--pm-yellow);
  outline-offset: 2px;
}

.pm-product-archive .fibofilters-horizontal-filters .fibofilters-button svg {
  width: 15px;
  height: 15px;
  color: currentColor;
}

.pm-product-archive .fibofilters-horizontal-filters .fibofilters-button svg path {
  stroke: currentColor;
}

.pm-product-archive .fibofilters-horizontal-filters .fibofilters-button svg circle {
  stroke: currentColor;
}

/* =========================================================
   FiboFilters - applied filters
   ========================================================= */

.pm-product-archive .fibofilters-applied-filters-container {
  margin: 8px 0 22px;
}

/* Remove spacing when FiboFilters containers are empty */
body.pm-product-archive .fibofilters-applied-filters-container:empty,
body.pm-product-archive .fibofilters-show-previous-button-container:empty {
  margin: 0;
  padding: 0;
  min-height: 0;
}

.pm-product-archive .fibofilters-applied-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

/* Active filter chip - aligned with FiboFilters button sizing */
.pm-product-archive .fibofilters-applied-filter {
  display: inline-flex;
  flex-direction: row-reverse;
  align-items: center;
  min-height: 38px;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  overflow: hidden;
  border: 1px solid var(--pm-grey);
  border-radius: 0;
  background: var(--pm-grey-dark);
  color: var(--pm-yellow);
  font-family: var(--pm-font-main);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

.pm-product-archive .fibofilters-applied-filter span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 14px;
  color: inherit;
}

.pm-product-archive .fibofilters-applied-filter strong {
  color: inherit;
  font-weight: 700;
}

/* Close button */
.pm-product-archive .fibofilters-applied-filter .fibofilters-applied-filter-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  max-height: 38px;
  margin: 0;
  padding: 0;
  border: 0;
  border-left: 1px solid var(--pm-grey);
  border-radius: 0;
  background: var(--pm-dark);
  color: var(--pm-white);
  box-shadow: none;
  line-height: 1;
  cursor: pointer;
  transition:
    color 160ms ease,
    background-color 160ms ease;
}

.pm-product-archive .fibofilters-applied-filter .fibofilters-applied-filter-icon:hover {
  background: var(--pm-yellow);
  color: var(--pm-dark);
}

.pm-product-archive .fibofilters-applied-filter .fibofilters-applied-filter-icon svg {
  display: block;
  width: 11px;
  height: 11px;
  flex: 0 0 auto;
  color: currentColor;
}

.pm-product-archive .fibofilters-applied-filter .fibofilters-applied-filter-icon svg path {
  stroke: currentColor;
}

/* Ryd alt button - aligned with FiboFilters button sizing */
.pm-product-archive .fibofilters-applied-filters > .fibofilters-button:not(.fibofilters-applied-filter-icon) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid var(--pm-grey);
  border-radius: 0;
  background: var(--pm-grey-dark);
  color: var(--pm-yellow);
  font-family: var(--pm-font-main);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
}

.pm-product-archive .fibofilters-applied-filters > .fibofilters-button:not(.fibofilters-applied-filter-icon):hover {
  border-color: var(--pm-yellow);
  background: var(--pm-grey-dark);
  color: var(--pm-yellow);
  text-decoration: none;
}

/* =========================================================
   FiboFilters panels and overlays - product category archive
   Scoped to WooCommerce product category pages only.
   Lets FiboFilters control layout, width, height, position and scrolling.
   ========================================================= */

/* Panel roots */
body.pm-product-archive .fibofilters-popover,
body.pm-product-archive .fibofilters-offcanvas,
body.pm-product-archive .fibofilters-mobile-overlay {
  background: var(--pm-grey-dark);
  color: var(--pm-white);
  font-family: var(--pm-font-main);
}

/* Desktop popover only */
body.pm-product-archive .fibofilters-popover {
  overflow: hidden;
  border: 1px solid var(--pm-grey);
  border-radius: var(--pm-radius-small);
  box-shadow: none;
}

body.pm-product-archive .fibofilters-popover__top-bar {
  background: var(--pm-grey-dark);
}

body.pm-product-archive .fibofilters-popover-chevron path {
  stroke: var(--pm-white);
}

/* Headers */
body.pm-product-archive .fibofilters-offcanvas-header,
body.pm-product-archive .fibofilters-mobile-overlay__header {
  border-bottom: 1px solid var(--pm-grey);
  background: var(--pm-dark);
  color: var(--pm-white);
}

body.pm-product-archive .fibofilters-offcanvas-header p,
body.pm-product-archive .fibofilters-mobile-overlay__header-title {
  color: var(--pm-white);
  font-family: var(--pm-font-main);
  font-weight: 400;
}

/* Header actions: close/back/clear */
body.pm-product-archive .fibofilters-offcanvas-clear,
body.pm-product-archive .fibofilters-mobile-overlay__header-clear {
  background: transparent;
  color: var(--pm-yellow);
  font-family: var(--pm-font-main);
  font-weight: 700;
  box-shadow: none;
}

body.pm-product-archive .fibofilters-offcanvas-clear:hover,
body.pm-product-archive .fibofilters-mobile-overlay__header-clear:hover {
  background: transparent;
  color: var(--pm-white);
}

body.pm-product-archive .fibofilters-offcanvas-close,
body.pm-product-archive .fibofilters-mobile-overlay__header-close {
  background: transparent;
  color: var(--pm-white);
  box-shadow: none;
}

body.pm-product-archive .fibofilters-offcanvas-close:hover,
body.pm-product-archive .fibofilters-mobile-overlay__header-close:hover {
  background: transparent;
  color: var(--pm-yellow);
}

body.pm-product-archive .fibofilters-offcanvas-close svg,
body.pm-product-archive .fibofilters-mobile-overlay__header-close svg {
  color: currentColor;
}

body.pm-product-archive .fibofilters-offcanvas-close svg path,
body.pm-product-archive .fibofilters-offcanvas-close svg g,
body.pm-product-archive .fibofilters-mobile-overlay__header-close svg path,
body.pm-product-archive .fibofilters-mobile-overlay__header-close svg g {
  stroke: currentColor;
}

/* Content areas */
body.pm-product-archive .fibofilters-offcanvas-content,
body.pm-product-archive .fibofilters-mobile-overlay__content {
  background: var(--pm-grey-dark);
  color: var(--pm-white);
}

/* Filter blocks */
body.pm-product-archive .fibofilters-popover .fibofilters-block,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-block,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-block,
body.pm-product-archive .fibofilters-popover .fibofilters-block__content,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-block__content,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-block__content,
body.pm-product-archive .fibofilters-popover .fibofilters-block__content-inner,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-block__content-inner,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-block__content-inner {
  background: var(--pm-grey-dark);
  color: var(--pm-white);
}

/* Filter block headlines */
body.pm-product-archive .fibofilters-offcanvas .fibofilters-block,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-block {
  border-bottom: 1px solid var(--pm-grey);
}

body.pm-product-archive .fibofilters-offcanvas .fibofilters-block__headline,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-block__headline {
  background: var(--pm-grey-dark);
}

body.pm-product-archive .fibofilters-offcanvas .fibofilters-block__headline-box,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-block__headline-box {
  background: transparent;
}

body.pm-product-archive .fibofilters-offcanvas .fibofilters-block__headline-box-inner,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-block__headline-box-inner {
  color: var(--pm-white);
  font-family: var(--pm-font-main);
  font-weight: 900;
  text-transform: uppercase;
}

/* Lists */
body.pm-product-archive .fibofilters-popover .fibofilters-block__items-list,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-block__items-list,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-block__items-list {
  margin: 0;
}

/* Filter items */
body.pm-product-archive .fibofilters-popover .fibofilters-item__interactive,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item__interactive,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item__interactive {
  color: var(--pm-white);
  font-family: var(--pm-font-main);
}

body.pm-product-archive .fibofilters-popover .fibofilters-item__interactive:hover,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item__interactive:hover,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item__interactive:hover {
  background: var(--pm-dark);
  color: var(--pm-yellow);
}

body.pm-product-archive .fibofilters-popover .fibofilters-item__label,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item__label,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item__label {
  color: inherit;
}

body.pm-product-archive .fibofilters-popover .fibofilters-item__counter,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item__counter,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item__counter {
  color: var(--pm-text-muted);
}

body.pm-product-archive .fibofilters-popover .fibofilters-item__interactive:hover .fibofilters-item__counter,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item__interactive:hover .fibofilters-item__counter,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item__interactive:hover .fibofilters-item__counter {
  color: var(--pm-yellow);
}

/* Checkbox / radio controls */
body.pm-product-archive .fibofilters-popover .fibofilters-item__control,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item__control,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item__control {
  border-color: var(--pm-text-muted);
  border-radius: var(--pm-radius-small);
  background: transparent;
}

body.pm-product-archive .fibofilters-popover .fibofilters-selected .fibofilters-item__control,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-selected .fibofilters-item__control,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-selected .fibofilters-item__control,
body.pm-product-archive .fibofilters-popover .fibofilters-item__interactive[aria-checked="true"] .fibofilters-item__control,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item__interactive[aria-checked="true"] .fibofilters-item__control,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item__interactive[aria-checked="true"] .fibofilters-item__control {
  border-color: var(--pm-yellow);
  background: var(--pm-yellow);
}

body.pm-product-archive .fibofilters-popover .fibofilters-item__control svg path,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item__control svg path,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item__control svg path {
  stroke: var(--pm-white);
}

/* "Mere" / "vis alle" inside filter lists */
body.pm-product-archive .fibofilters-popover .fibofilters-item--more-less,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-item--more-less,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-item--more-less {
  padding-top: 8px;
  padding-bottom: 12px;
}

body.pm-product-archive .fibofilters-popover .fibofilters-more-less,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-more-less,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-more-less {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border: 1px solid var(--pm-yellow);
  border-radius: 0;
  background: transparent;
  color: var(--pm-yellow);
  font-family: var(--pm-font-main);
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
}

body.pm-product-archive .fibofilters-popover .fibofilters-more-less:hover,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-more-less:hover,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-more-less:hover {
  border-color: var(--pm-yellow);
  background: var(--pm-yellow);
  color: var(--pm-dark);
}

body.pm-product-archive .fibofilters-popover .fibofilters-more-less__counter,
body.pm-product-archive .fibofilters-offcanvas .fibofilters-more-less__counter,
body.pm-product-archive .fibofilters-mobile-overlay .fibofilters-more-less__counter {
  color: inherit;
}

/* Footer */
body.pm-product-archive .fibofilters-offcanvas-footer,
body.pm-product-archive .fibofilters-mobile-overlay__footer {
  border-top: 1px solid var(--pm-grey);
  background: var(--pm-dark);
}

/* Footer button */
body.pm-product-archive .fibofilters-offcanvas-btn,
body.pm-product-archive .fibofilters-mobile-overlay__footer .fibofilters-button {
  border: 1px solid var(--pm-blue);
  border-radius: 0;
  background: var(--pm-blue);
  color: var(--pm-white);
  font-family: var(--pm-font-main);
  font-weight: 700;
  box-shadow: none;
}

body.pm-product-archive .fibofilters-offcanvas-btn:hover,
body.pm-product-archive .fibofilters-mobile-overlay__footer .fibofilters-button:hover {
  border-color: var(--pm-yellow);
  background: var(--pm-blue);
  color: var(--pm-white);
}

/* =========================================================
   Product card meta
   ========================================================= */

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap {
  position: relative;
  margin-bottom: 14px;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .product-category {
  margin: 0 0 5px;
  color: var(--pm-text-muted);
  font-family: var(--pm-font-main);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.35;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .product-category a {
  color: var(--pm-text-muted);
  text-decoration: none;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .product-category a:hover {
  color: var(--pm-yellow);
  text-decoration: none;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0 8px;
  margin-top: 6px;
  color: var(--pm-yellow);
  font-family: var(--pm-font-main);
  font-size: 17px;
  font-weight: 900;
  line-height: 1.25;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price ins {
  order: 1;
  color: var(--pm-yellow);
  font-weight: 900;
  text-decoration: none;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price ins bdi {
  color: var(--pm-yellow);
  font-weight: 900;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price > .woocommerce-Price-amount,
:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price > .woocommerce-Price-amount bdi {
  color: var(--pm-yellow);
  font-weight: 900;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price del {
  order: 2;
  color: var(--pm-text-muted);
  font-size: 15px;
  font-weight: 400;
  opacity: 1;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price del bdi {
  color: var(--pm-text-muted);
  font-weight: 400;
}

/* =========================================================
   Product card add-to-cart button
   ========================================================= */

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap {
  position: absolute;
  z-index: 6;
  left: 10px;
  right: auto;
  bottom: 10px;
  width: auto;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  opacity: 0;
  visibility: hidden;
  transform: none;
  transition:
    opacity 160ms ease,
    visibility 160ms ease;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap > .woocommerce-LoopProduct-link {
  display: none;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product:hover .loop-image-wrap .loop-button-wrap {
  opacity: 1;
  visibility: visible;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--pm-radius-small);
  background: var(--pm-red);
  color: var(--pm-white);
  box-shadow: none;
  font-size: 0;
  line-height: 1;
  text-decoration: none;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button i,
:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button svg {
  display: block;
  width: 18px;
  height: 18px;
  color: var(--pm-white);
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button svg path {
  fill: currentColor;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button:hover,
:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button.loading,
:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button.added {
  background: var(--pm-red);
  color: var(--pm-white);
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button:hover {
  opacity: 0.9;
}

/* WooCommerce's extra cart link overlaps the native product-card controls.
 * Keep the add button and mini-cart confirmation; hide only the extra link. */
:is(body.pm-product-archive, .pm-product-rail) ul.products li.product a.added_to_cart.wc-forward {
  display: none;
}

/* =========================================================
   Product card wishlist button
   ========================================================= */

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-button {
  position: absolute;
  z-index: 7;
  top: auto;
  right: auto;
  bottom: 10px;
  left: 60px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--pm-radius-small);
  background: var(--pm-yellow);
  color: var(--pm-dark);
  box-shadow: none;
  text-decoration: none;
  opacity: 0;
  visibility: hidden;
  transform: none;
  transition:
    opacity 160ms ease,
    visibility 160ms ease,
    background-color 160ms ease,
    color 160ms ease;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product:hover .loop-image-wrap .botiga-wishlist-button {
  opacity: 1;
  visibility: visible;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  color: inherit;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-button svg {
  display: block;
  width: 18px;
  height: 18px;
  color: currentColor;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-button svg path {
  stroke: currentColor;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-button:hover {
  background: var(--pm-yellow);
  color: var(--pm-dark);
  opacity: 0.9;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-loading-icon svg {
  width: 18px;
  height: 18px;
}

:is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-loading-icon svg path {
  fill: currentColor;
}

/* Touch devices: always show because there is no reliable hover */
@media (hover: none), (max-width: 1024px) {
  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap,
  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-button {
    opacity: 1;
    visibility: visible;
  }
}

/* =========================================================
   FiboFilters pagination buttons
   ========================================================= */

/*
 * Previous container should not reserve space when empty.
 * Spacing is applied to the actual previous button instead.
 */
body.pm-product-archive .fibofilters-show-previous-button-container {
  margin: 0;
  padding: 0;
  min-height: 0;
  text-align: center;
}

body.pm-product-archive .fibofilters-show-more-button-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 46px 0 32px;
  text-align: center;
}

body.pm-product-archive .fibofilters-show-more-count {
  display: block;
  color: var(--pm-white);
  font-family: var(--pm-font-main);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.3;
}

body.pm-product-archive .fibofilters-show-more-count b {
  color: var(--pm-white);
  font-weight: 900;
}

/* Variant: primary / load more */
body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more {
  --pm-button-bg: var(--pm-yellow);
  --pm-button-color: var(--pm-dark);
  --pm-button-focus: var(--pm-yellow);
  --pm-button-min-width: 300px;
}

/* Variant: secondary / previous */
body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous {
  --pm-button-bg: var(--pm-blue);
  --pm-button-color: var(--pm-white);
  --pm-button-focus: var(--pm-white);
  --pm-button-min-width: 330px;
  margin: 0 0 38px;
}

/* Shared Pocket Monster pill button */
body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more,
body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: var(--pm-button-min-width);
  min-height: 58px;
  padding: 0 82px 0 42px;
  border: 0;
  border-radius: var(--pm-radius-button);
  background: var(--pm-button-bg);
  color: var(--pm-button-color);
  font-family: var(--pm-font-main);
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  box-shadow: none;
  outline: none;
  cursor: pointer;
  transition:
    opacity 160ms ease,
    transform 160ms ease;
}

/* Shared Pokéball icon - local SVG asset */
body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more::after,
body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10px;
  width: 44px;
  height: 44px;
  background: url("../img/pokeball.svg") center / contain no-repeat;
  transform: translateY(-50%);
}

/* Hover: keep original button color */
body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more:hover,
body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous:hover {
  background: var(--pm-button-bg);
  color: var(--pm-button-color);
  opacity: 0.92;
  text-decoration: none;
  box-shadow: none;
  outline: none;
}

/* Remove mouse-focus border, keep keyboard focus */
body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more:focus,
body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous:focus {
  outline: none;
  box-shadow: none;
}

body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more:focus-visible,
body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous:focus-visible {
  outline: 2px solid var(--pm-button-focus);
  outline-offset: 4px;
}

/* Loading/disabled safety */
body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more[disabled],
body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more.is-loading,
body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous[disabled],
body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous.is-loading {
  opacity: 0.65;
  cursor: wait;
}

@media (max-width: 767px) {
  body.pm-product-archive .fibofilters-show-more-button-container {
    gap: 12px;
    margin: 36px 0 28px;
  }

  body.pm-product-archive .fibofilters-show-more-count {
    font-size: 13px;
  }

  body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous {
    margin-bottom: 30px;
  }

  body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more,
  body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous {
    min-width: 250px;
    min-height: 52px;
    padding: 0 68px 0 32px;
    font-size: 15px;
  }

  body.pm-product-archive .fibofilters-show-more-button-container .fibofilters-show-more::after,
  body.pm-product-archive .fibofilters-show-previous-button-container .fibofilters-show-more__previous::after {
    right: 8px;
    width: 38px;
    height: 38px;
  }
}

/* =========================================================
   Mobile category control + native FiboFilters trigger
   Scoped to WooCommerce product category pages only.
   ========================================================= */

.pm-product-archive .pm-mobile-category-control,
.pm-product-archive .pm-mobile-category-panel {
  display: none;
}

@media (max-width: 991px) {
  /*
   * Hide original sidebar only when JS has moved the category list into
   * the mobile product flow. This avoids duplicate category navigation.
   */
  body.pm-product-archive.pm-category-mobile-ready #secondary {
    display: none;
  }

  /*
   * Product flow:
   * sorting/result count
   * category + native FiboFilters mobile button
   * applied filters
   * products
   */
  body.pm-product-archive .pm-mobile-category-control,
  body.pm-product-archive .fibofilters-mobile-filters-container {
    display: inline-flex;
    width: calc(50% - 4px);
    max-width: calc(50% - 4px);
    vertical-align: top;
    margin: 0 0 8px;
  }

  body.pm-product-archive .pm-mobile-category-control {
    margin-right: 8px;
  }

  body.pm-product-archive .pm-mobile-category-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: 0 14px;
    border: 0;
    border-radius: 0;
    background: var(--pm-blue);
    color: var(--pm-white);
    font-family: var(--pm-font-main);
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    text-align: left;
    text-transform: uppercase;
    cursor: pointer;
  }

  body.pm-product-archive .pm-mobile-category-toggle::after {
    content: "";
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: translateY(-25%) rotate(45deg);
    transition: transform 160ms ease;
  }

  body.pm-product-archive .pm-mobile-category-toggle[aria-expanded="true"]::after {
    transform: translateY(25%) rotate(225deg);
  }

  /*
   * FiboFilters' native mobile trigger.
   * The native trigger and its overlay logic are preserved.
   */
  body.pm-product-archive .fibofilters-mobile-filters-container {
    min-width: 0;
  }

  body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-mobile-filters,
  body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-horizontal-filters {
    width: 100%;
    margin: 0;
  }

  body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    min-height: 46px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid var(--pm-grey);
    border-radius: 0;
    background: var(--pm-grey-dark);
    color: var(--pm-white);
    font-family: var(--pm-font-main);
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: none;
  }

body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-button:hover,
body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-button[aria-expanded="true"] {
  border-color: var(--pm-yellow);
  background: var(--pm-grey-dark);
  color: var(--pm-yellow);
}

body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-button:focus {
  outline: none;
}

body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-button:focus-visible {
  outline: 2px solid var(--pm-yellow);
  outline-offset: 2px;
}

  body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-button svg {
    width: 15px;
    height: 15px;
    color: currentColor;
  }

  body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-button svg path {
    stroke: currentColor;
  }

  body.pm-product-archive .fibofilters-mobile-filters-container .fibofilters-button svg circle {
    stroke: currentColor;
  }

  /*
   * Category panel appears under the two control buttons and before applied filters/products.
   */
  body.pm-product-archive .pm-mobile-category-panel {
    display: none;
    width: 100%;
    margin: 0 0 18px;
    clear: both;
  }

  body.pm-product-archive .pm-mobile-category-panel.pm-mobile-category-panel--open {
    display: block;
  }

  body.pm-product-archive .pm-mobile-category-panel .pm-category-sidebar__list {
    display: block;
    margin: 0;
    padding: 6px 0 0;
  }

  body.pm-product-archive .woocommerce-sorting-wrapper {
    margin-bottom: 16px;
  }
}

@media (max-width: 767px) {
  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap {
    margin-bottom: 12px;
  }

  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .product-category {
    font-size: 11px;
  }

  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price {
    margin-top: 5px;
    font-size: 15px;
  }

  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .price del {
    font-size: 13px;
  }

  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap {
    left: 8px;
    bottom: 8px;
  }

  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button {
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
  }

  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button i,
  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .loop-button-wrap .add_to_cart_button svg {
    width: 17px;
    height: 17px;
  }

  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-button {
    left: 54px;
    bottom: 8px;
    width: 40px;
    min-width: 40px;
    height: 40px;
    min-height: 40px;
  }

  :is(body.pm-product-archive, .pm-product-rail) ul.products li.product .loop-image-wrap .botiga-wishlist-button svg {
    width: 17px;
    height: 17px;
  }

  .pm-product-archive .fibofilters-horizontal-filters-container {
    margin: 18px 0 12px;
  }

  .pm-product-archive .fibofilters-horizontal-filters {
    gap: 8px;
  }

  .pm-product-archive .fibofilters-horizontal-filters .fibofilters-button {
    min-height: 34px;
    padding: 0 12px;
    font-size: 12px;
  }
}

/* =========================================================
   Product category mobile wrapper spacing
   Scoped to WooCommerce product category pages only.
   ========================================================= */

@media (max-width: 991px) {
  body.pm-product-archive .container.content-wrapper {
    margin-top: 28px;
  }
}

/* =========================================================
   Tablet category control
   Compact version for tablet layouts.
   ========================================================= */

@media (min-width: 768px) and (max-width: 991px) {
  body.pm-product-archive .fibofilters-horizontal-filters-container {
    margin-bottom: 6px;
  }

  body.pm-product-archive .pm-mobile-category-control {
    width: auto;
    max-width: none;
    margin: 0 0 24px;
  }

  body.pm-product-archive .pm-mobile-category-toggle {
    width: auto;
    min-width: 190px;
    min-height: 38px;
    padding: 0 14px;
    gap: 12px;
    font-size: 13px;
  }
}

/* Sticky controls on product categories; scrolling stays entirely in CSS. */
body.tax-product_cat .pm-archive-filter-bar {
  --pm-filter-header-offset: 0px;
  --pm-filter-admin-offset: 0px;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 8px;
  position: sticky;
  top: calc(var(--pm-filter-admin-offset) + var(--pm-filter-header-offset));
  z-index: 90;
  margin: 16px 0;
  padding: 8px 0;
  background: var(--pm-dark);
  border-bottom: 1px solid var(--pm-grey-dark);
  transition: top .3s ease;
}
body.tax-product_cat.sticky-header-active:not(.botiga-scrolling-down) .pm-archive-filter-bar,
body.tax-product_cat.sticky-header-active .pm-filter-bar--always-header {
  --pm-filter-header-offset: var(--pm-sticky-header-height, 0px);
}
body.tax-product_cat.admin-bar .pm-archive-filter-bar {
  --pm-filter-admin-offset: 32px;
}
body.tax-product_cat .pm-archive-filter-bar > .fibofilters-horizontal-filters-container {
  flex: 1 1 100%;
  width: 100%;
  min-height: 0;
  margin: 0;
}
body.tax-product_cat .pm-archive-filter-bar .fibofilters-horizontal-filters,
body.tax-product_cat .pm-archive-filter-bar .fibofilters-mobile-filters {
  margin: 0;
  padding: 0;
}
body.tax-product_cat .pm-archive-filter-bar .fibofilters-horizontal-filters .fibofilters-button {
  margin-bottom: 0;
}
body.tax-product_cat .pm-archive-filter-bar > .fibofilters-horizontal-filters-container:empty,
body.tax-product_cat .pm-archive-filter-bar > .fibofilters-mobile-filters-container:empty {
  display: none;
}
@media (max-width: 991px) {
  body.tax-product_cat .pm-archive-filter-bar > .pm-mobile-category-control,
  body.tax-product_cat .pm-archive-filter-bar > .fibofilters-mobile-filters-container {
    flex: 1 1 0;
    width: auto;
    max-width: none;
    min-width: 0;
    min-height: 0;
    margin: 0;
  }
  body.tax-product_cat .pm-archive-filter-bar .pm-mobile-category-toggle {
    width: 100%;
    min-width: 0;
    min-height: 46px;
  }
  body.tax-product_cat .pm-archive-filter-bar > .pm-mobile-category-panel {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    margin: 0;
    padding: 12px;
    background: var(--pm-dark);
    border: 1px solid var(--pm-grey-dark);
    max-height: min(65vh, calc(100vh - var(--pm-filter-admin-offset) - var(--pm-filter-header-offset) - var(--pm-filter-bar-height, 64px) - 16px));
    max-height: min(65dvh, calc(100dvh - var(--pm-filter-admin-offset) - var(--pm-filter-header-offset) - var(--pm-filter-bar-height, 64px) - 16px));
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}
@media (max-width: 782px) {
  body.tax-product_cat.admin-bar .pm-archive-filter-bar {
    --pm-filter-admin-offset: 46px;
  }
}
@media (max-width: 600px) {
  body.tax-product_cat.admin-bar .pm-archive-filter-bar {
    --pm-filter-admin-offset: 0px;
  }
}
@media (prefers-reduced-motion: reduce) {
  body.tax-product_cat .pm-archive-filter-bar {
    transition: none;
  }
}

/* =========================================================
   Product category width on large screens
   ========================================================= */

@media (min-width: 2000px) {
  body.pm-product-archive .container.content-wrapper {
    max-width: 1760px;
  }
}


