/* Product Type is a selection list; only Volume uses check indicators. */
[data-cf-volume-catalog] .cf-product-filter-sidebar { overflow: visible; z-index: 20; }
.cf-product-type-tree .cf-product-type-node { position: relative; margin: 0; }
.cf-product-type-tree .cf-product-type-row { display: flex; align-items: stretch; }
.cf-product-type-tree .cf-product-type-row a { flex: 1; min-width: 0; padding: 10px 9px; font-size: 13px; }
.cf-product-type-tree .cf-product-type-row:has(a.is-active) { background: #edf6f0; box-shadow: inset 3px 0 #0a6538; }
.cf-product-type-tree .cf-product-type-row a.is-active { background: transparent; }
.cf-product-type-tree .cf-product-type-expand { display: block; flex: 0 0 30px; padding: 0; border: 0; background: transparent; color: #0a6538; font-size: 24px; cursor: pointer; }
/* Mark the current root prominently on initial category visits and AJAX selection. */
.cf-product-type-level-1 > .cf-product-type-node > .cf-product-type-row:has(> a.is-active) { background: #0a6538; box-shadow: none; }
.cf-product-type-level-1 > .cf-product-type-node > .cf-product-type-row > a.is-active,
.cf-product-type-level-1 > .cf-product-type-node > .cf-product-type-row > a.is-active:hover { color: #fff; background: transparent; font-weight: 800; }
.cf-product-type-level-1 > .cf-product-type-node > .cf-product-type-row:has(> a.is-active) > .cf-product-type-expand { color: #fff; }
.cf-product-type-level-1 > .cf-product-type-node > .cf-product-type-row > a.is-active:focus-visible { outline-color: #fff; outline-offset: -3px; }
.cf-product-type-tree a:focus-visible, .cf-product-type-expand:focus-visible { outline: 2px solid #0a6538; outline-offset: -2px; }
.cf-product-type-flyout { display: none; position: absolute; left: 100%; top: var(--cf-flyout-shift, 0px); width: clamp(210px, 20vw, 260px); z-index: 30; background: #fff; border: 1px solid #d8e1da; box-shadow: 0 8px 26px #12392326; }
.cf-product-type-group .cf-product-type-flyout > ul { padding: 7px; }
.cf-product-type-node.is-expanded > .cf-product-type-flyout { display: block; }
.cf-product-type-flyout:has(> .cf-product-type-level-3) { max-height: calc(100dvh - 130px); overflow-y: auto; overscroll-behavior: contain; }
.cf-product-type-group > .cf-product-type-tree { padding: 0 0 12px; }
.cf-product-selected-type { font-size: 16px; color: #173f2b; margin-right: 8px; }
[data-cf-volume-catalog] .cf-product-results-count { flex-wrap: wrap; }
.cf-product-volume-empty { padding: 0 17px 17px; margin: 0; color: #697870; font-size: 12px; }
.cf-product-filter-status { padding: 10px 14px; border: 1px solid #d6e2d8; background: #f3f7f4; }
[data-cf-volume-catalog].is-loading { opacity: 1; pointer-events: auto; }
[data-cf-volume-catalog].is-loading .cf-product-catalog-results { opacity: .5; }
@media (max-width: 760px) {
  [data-cf-volume-catalog] .cf-product-filter-sidebar { z-index: 1200; overflow-x: hidden; overflow-y: auto; }
  .cf-product-type-tree .cf-product-type-expand { flex-basis: 42px; }
  .cf-product-type-flyout { position: static; width: auto; margin-left: 12px; box-shadow: none; border-width: 0 0 0 1px; }
  .cf-product-type-flyout:has(> .cf-product-type-level-3) { max-height: none; overflow: visible; }
  .cf-product-selected-type { flex-basis: 100%; margin-bottom: 5px; }
}
.cf-product-clean-grid .cf-product-body h4,
.cf-product-clean-grid .cf-product-body h4 a {
  /* Fill each line naturally instead of balancing short product-title lines. */
  text-wrap: wrap;
  word-break: break-word;
  overflow-wrap: break-word;
}
