/* ANDPRO Wave B — catalog, filter and PDP. Visual-only layer; commerce semantics stay in existing owners. */
html.ap-wave-a-v1.ap-wave-b-v1 {
  --ap-wb-canvas: var(--ap-wa-canvas, #f6f8fb);
  --ap-wb-surface: var(--ap-wa-surface, #fff);
  --ap-wb-soft: var(--ap-wa-soft, #eef0fb);
  --ap-wb-ink: var(--ap-wa-ink, #2c3a47);
  --ap-wb-muted: var(--ap-wa-muted, #5a6b7a);
  --ap-wb-line: var(--ap-wa-line, #dfe3f1);
  --ap-wb-brand: var(--ap-wa-brand, #575fcf);
  --ap-wb-brand-hover: var(--ap-wa-brand-hover, #474fbf);
  --ap-wb-amber: var(--ap-wa-amber, #ffc048);
  --ap-wb-green: var(--ap-wa-green, #16875b);
  --ap-wb-radius-control: var(--ap-wa-radius-control, 8px);
  --ap-wb-radius-card: var(--ap-wa-radius-card, 14px);
  --ap-wb-shadow: var(--ap-wa-shadow, 0 8px 22px rgba(34, 36, 102, .05));
  color: var(--ap-wb-ink);
  background: var(--ap-wb-canvas);
}

html.ap-wave-b-v1 .content-block > .container,
html.ap-wave-b-v1 .content-block__container {
  max-width: 1280px;
}

html.ap-wave-b-v1 .content-block h1 {
  color: var(--ap-wb-ink);
  font-size: clamp(30px, 3vw, 42px);
  line-height: 1.18;
  letter-spacing: -.025em;
  font-weight: 700;
}

html.ap-wave-b-v1 .content-block h2 {
  color: var(--ap-wb-ink);
  font-size: clamp(24px, 2vw, 32px);
  line-height: 1.25;
  letter-spacing: -.02em;
  font-weight: 700;
}

html.ap-wave-b-v1 .breadcrumbs,
html.ap-wave-b-v1 .breadcrumb {
  color: var(--ap-wb-muted);
}

/* Catalog hub and category surfaces inherit the shared Wave A grammar. */
html.ap-wave-b-v1 .cat-block,
html.ap-wave-b-v1 .category-block,
html.ap-wave-b-v1 .catalog-sections__item,
html.ap-wave-b-v1 .catalog-section-list__item {
  overflow: hidden;
  background: var(--ap-wb-surface);
  border: 1px solid var(--ap-wb-line);
  border-radius: var(--ap-wb-radius-card);
  box-shadow: none;
}

html.ap-wave-b-v1 .cat-block:hover,
html.ap-wave-b-v1 .category-block:hover,
html.ap-wave-b-v1 .catalog-sections__item:hover,
html.ap-wave-b-v1 .catalog-section-list__item:hover {
  border-color: rgba(87, 95, 207, .42);
  box-shadow: var(--ap-wb-shadow);
  transform: none;
}

/* Listing: stable two-owner composition with no data or handler changes. */
html.ap-wave-b-v1 .content-block__row {
  gap: 28px;
  align-items: start;
}

html.ap-wave-b-v1 .content-block__side {
  flex: 0 0 260px;
  width: 260px;
}

html.ap-wave-b-v1 .content-block__catalog {
  min-width: 0;
}

html.ap-wave-b-v1 .catalog-head__filters {
  min-height: 46px;
  gap: 8px;
}

html.ap-wave-b-v1 .catalog-head__filters li a,
html.ap-wave-b-v1 .ap-v3-chip-toggle__button,
html.ap-wave-b-v1 .ap-facet-applied a,
html.ap-wave-b-v1 .ap-catalog-applied-filters a {
  min-height: 46px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  font-weight: 700;
}

html.ap-wave-b-v1 .catalog-row {
  min-height: 64px;
  margin: 18px 0;
  padding: 10px 12px;
  align-items: center;
  background: var(--ap-wb-surface);
  border: 1px solid var(--ap-wb-line);
  border-radius: var(--ap-wb-radius-control);
  box-shadow: none;
}

html.ap-wave-b-v1 .catalog-sort__selected,
html.ap-wave-b-v1 .catalog-controls__btn {
  min-height: 46px;
  border-radius: var(--ap-wb-radius-control);
}

html.ap-wave-b-v1 .catalog-filter {
  overflow: hidden;
  background: var(--ap-wb-surface);
  border: 1px solid var(--ap-wb-line);
  border-radius: var(--ap-wb-radius-card);
  box-shadow: none;
}

html.ap-wave-b-v1 .filter-block {
  border-color: var(--ap-wb-line);
}

html.ap-wave-b-v1 .filter-block__title {
  min-height: 48px !important;
  padding-top: 12px;
  padding-bottom: 12px;
  display: flex;
  align-items: center;
  color: var(--ap-wb-ink);
  font-weight: 700;
}

html.ap-wave-b-v1 .filter-block .form-check,
html.ap-wave-b-v1 .filter-block .form-check-label,
html.ap-wave-b-v1 .filter-block .form-check-label a.--nolink {
  min-height: 48px !important;
}

html.ap-wave-b-v1 .filter-block .form-check {
  display: flex;
  align-items: center;
}

html.ap-wave-b-v1 .filter-block .form-check-label,
html.ap-wave-b-v1 .filter-block .form-check-label a.--nolink {
  display: flex;
  align-items: center;
}

html.ap-wave-b-v1 .filter-block .form-check-input {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
}

html.ap-wave-b-v1 .filter-btn,
html.ap-wave-b-v1 .catalog-filter__apply,
html.ap-wave-b-v1 .catalog-filter__clear,
html.ap-wave-b-v1 .show_button {
  min-height: 48px !important;
  border-radius: var(--ap-wb-radius-control);
  font-weight: 700;
}

html.ap-wave-b-v1 .filter-btn.--apply,
html.ap-wave-b-v1 .catalog-filter__apply,
html.ap-wave-b-v1 .show_button {
  color: var(--ap-wb-ink);
  background: var(--ap-wb-amber);
  border-color: var(--ap-wb-amber);
}

html.ap-wave-b-v1 .filter-btn.--clear,
html.ap-wave-b-v1 .catalog-filter__clear {
  color: var(--ap-wb-brand);
  background: var(--ap-wb-surface);
  border-color: var(--ap-wb-line);
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid {
  gap: 14px;
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .catalog-card {
  overflow: hidden;
  background: var(--ap-wb-surface);
  border: 1px solid var(--ap-wb-line);
  border-radius: var(--ap-wb-radius-card);
  box-shadow: none;
  transform: none;
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .catalog-card:hover {
  border-color: rgba(87, 95, 207, .42);
  box-shadow: var(--ap-wb-shadow);
  transform: none;
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .catalog-card__title {
  color: var(--ap-wb-ink);
  font-size: 15px;
  line-height: 1.45;
  font-weight: 700;
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .catalog-card__price {
  color: var(--ap-wb-ink);
  font-size: 22px;
  line-height: 1.2;
  font-weight: 700;
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .card-stock {
  color: var(--ap-wb-green);
  background: rgba(22, 135, 91, .08);
  border-radius: 999px;
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .catalog-card__btn,
html.ap-wave-b-v1 .ap-wave-b-catalog-grid .card-btn,
html.ap-wave-b-v1 .ap-wave-b-catalog-grid .card-footer button,
html.ap-wave-b-v1 .ap-wave-b-catalog-grid .card-footer a {
  min-width: 46px;
  min-height: 48px !important;
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .card-btn.--buy {
  color: var(--ap-wb-ink);
  background: var(--ap-wb-amber);
  border-color: var(--ap-wb-amber);
  border-radius: var(--ap-wb-radius-control);
  font-weight: 700;
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .card-btn.--buy:hover {
  color: var(--ap-wb-ink);
  border-color: var(--ap-wb-ink);
}

html.ap-wave-b-v1 .ap-wave-b-catalog-grid .card-btn.--like,
html.ap-wave-b-v1 .ap-wave-b-catalog-grid .catalog-card__btn {
  background-color: var(--ap-wb-surface);
  border: 1px solid var(--ap-wb-line);
  border-radius: var(--ap-wb-radius-control);
}

/* PDP: one compact decision surface with brand navigation and amber commitment. */
html.ap-wave-b-v1 .itempage-head {
  margin-bottom: 24px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--ap-wb-line);
}

html.ap-wave-b-v1 .ap-wave-b-pdp {
  gap: 32px;
  padding: 30px;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(380px, .9fr);
  align-items: start;
  background: var(--ap-wb-surface);
  border: 1px solid var(--ap-wb-line);
  border-radius: var(--ap-wb-radius-card);
  box-shadow: var(--ap-wb-shadow);
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-col,
html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-content {
  min-width: 0;
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-content {
  padding: 0;
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-content__pricebox {
  margin-bottom: 18px;
  padding: 0 0 18px;
  border-bottom: 1px solid var(--ap-wb-line);
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-content__price {
  color: var(--ap-wb-ink);
  font-size: clamp(30px, 3vw, 40px);
  line-height: 1.15;
  font-weight: 700;
}

html.ap-wave-b-v1 .ap-wave-b-pdp .price-meta-info,
html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-content__desc {
  color: var(--ap-wb-muted);
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-specchips {
  gap: 8px;
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-specchips__chip {
  min-height: 34px;
  padding: 7px 11px;
  display: inline-flex;
  align-items: center;
  color: var(--ap-wb-brand);
  background: var(--ap-wb-soft);
  border: 1px solid transparent;
  border-radius: 999px;
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-tldr {
  margin: 18px 0;
  padding: 18px;
  background: rgba(22, 135, 91, .07);
  border: 0;
  border-left: 4px solid var(--ap-wb-green);
  border-radius: var(--ap-wb-radius-control);
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-content__buyblock,
html.ap-wave-b-v1 .ap-wave-b-pdp .ap-invoice-btn,
html.ap-wave-b-v1 .ap-wave-b-pdp .ap-price-alert-open,
html.ap-wave-b-v1 .ap-wave-b-pdp .card-quant__btn,
html.ap-wave-b-v1 .ap-wave-b-pdp .card-quant__num-select {
  min-height: 48px !important;
}

html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-content__buyblock .card-btn.--buy,
html.ap-wave-b-v1 .itempage-stickybar__buy {
  min-height: 48px !important;
  color: var(--ap-wb-ink);
  background: var(--ap-wb-amber);
  border-color: var(--ap-wb-amber);
  border-radius: var(--ap-wb-radius-control);
  font-weight: 700;
}

html.ap-wave-b-v1 .ap-wave-b-pdp .ap-invoice-btn,
html.ap-wave-b-v1 .itempage-stickybar__invoice {
  min-height: 48px !important;
  color: #fff;
  background: var(--ap-wb-brand);
  border-color: var(--ap-wb-brand);
  border-radius: var(--ap-wb-radius-control);
  font-weight: 700;
}

html.ap-wave-b-v1 .ap-wave-b-pdp .ap-price-alert-open {
  color: var(--ap-wb-brand);
  background: var(--ap-wb-surface);
  border: 1px solid var(--ap-wb-line);
  border-radius: var(--ap-wb-radius-control);
  font-weight: 700;
}

html.ap-wave-b-v1 .itempage-info,
html.ap-wave-b-v1 .itempage-dopitem {
  background: var(--ap-wb-surface);
  border: 1px solid var(--ap-wb-line);
  border-radius: var(--ap-wb-radius-card);
  box-shadow: none;
}

html.ap-wave-b-v1 .itempage-info__tab-link,
html.ap-wave-b-v1 .itempage-dopitem__tab-link,
html.ap-wave-b-v1 .itempage-dopitem__prev,
html.ap-wave-b-v1 .itempage-dopitem__next {
  min-height: 48px !important;
  display: inline-flex;
  align-items: center;
}

html.ap-wave-a-v1.ap-wave-b-v1 .content-block .itempage-info .itempage-info__tabs .itempage-info__tab-link {
  height: 48px !important;
  min-height: 48px !important;
}

html.ap-wave-b-v1 :is(button, a, input, select, [role="button"]):focus-visible {
  outline: 3px solid var(--ap-wb-brand-hover);
  outline-offset: 3px;
}

@media (min-width: 720px) {
  html.ap-wave-b-v1 .content-block__side {
    display: block !important;
  }

  html.ap-wave-b-v1 .filter-btn.--mobile {
    display: none !important;
  }

  html.ap-wave-b-v1 .catalog-filter {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Tablet keeps filter context and products visible together. */
@media (min-width: 720px) and (max-width: 1023px) {
  html.ap-wave-b-v1 .content-block__row {
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  html.ap-wave-b-v1 .content-block__side {
    position: static !important;
    width: auto !important;
    min-width: 0 !important;
    display: block !important;
  }

  html.ap-wave-b-v1 .filter-btn.--mobile {
    display: none !important;
  }

  html.ap-wave-b-v1 .catalog-filter {
    position: sticky !important;
    inset: auto !important;
    top: 12px !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 24px) !important;
    display: block !important;
    visibility: visible !important;
    overflow: auto !important;
    opacity: 1 !important;
    transform: none !important;
  }

  html.ap-wave-b-v1 .content-block__catalog {
    width: auto !important;
  }

  html.ap-wave-b-v1 .ap-wave-b-catalog-grid,
  html.ap-wave-b-v1 .ap-wave-b-catalog-grid.--row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.ap-wave-b-v1 .ap-wave-b-pdp {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .9fr) !important;
    gap: 22px;
    padding: 22px;
  }
}

@media (max-width: 719px) {
  html.ap-wave-b-v1 .content-block h1 {
    font-size: 28px;
    line-height: 1.2;
  }

  html.ap-wave-b-v1 .catalog-row {
    margin: 14px 0;
    padding: 8px;
  }

  html.ap-wave-b-v1 .filter-btn.--mobile {
    width: 100%;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    align-self: start;
    color: #fff;
    background: var(--ap-wb-brand);
    border-color: var(--ap-wb-brand);
    border-radius: var(--ap-wb-radius-control);
  }

  html.ap-wave-b-v1 .catalog-filter {
    border-radius: 0;
  }

  html.ap-wave-b-v1 .ap-wave-b-catalog-grid,
  html.ap-wave-b-v1 .ap-wave-b-catalog-grid.--row {
    gap: 12px;
  }

  html.ap-wave-b-v1 .ap-wave-b-catalog-grid .catalog-card {
    border-radius: 12px;
  }

  html.ap-wave-b-v1 .ap-wave-b-pdp {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 22px;
    padding: 18px;
    border-radius: 12px;
  }

  html.ap-wave-b-v1 .ap-wave-b-pdp .itempage-content__price {
    font-size: 30px;
  }

  html.ap-wave-b-v1 .itempage-info,
  html.ap-wave-b-v1 .itempage-dopitem {
    border-radius: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html.ap-wave-b-v1 *,
  html.ap-wave-b-v1 *::before,
  html.ap-wave-b-v1 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
