/**
 * InFront — category / listing product-card actions
 * Matches cart + checkout primary CTA styling (ift-cart-totals).
 */

/* Equal-height cards; pin CTA to the bottom of each card */
.products-grid .js-product-miniature-wrapper {
  display: flex;
  flex-direction: column;
}

.products-grid .product-miniature,
.product-miniature.product-miniature-grid {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.products-grid .product-miniature .product-description,
.product-miniature.product-miniature-grid .product-description {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  padding-top: 0.35rem;
  padding-bottom: 0.5rem;
}

/* Overlay layout (layout 3): flex the inner stack too */
.products-grid .product-miniature-layout-3 .product-description-inner {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  height: 100%;
}

/* Square thumbs (see ift-a11y.css) — keep title close to the image */
.product-miniature .thumbnail-container {
  margin-bottom: 0;
}

.product-miniature .product-title {
  margin-top: 0;
}

/*
 * Pin price level across cards, directly above add-to-cart.
 * Flexible space sits between title/meta and the price block.
 */
.products-grid .product-miniature .product-description > .product-price-and-shipping,
.products-grid .product-miniature-layout-3 .product-description-inner > .product-price-and-shipping,
.product-miniature.product-miniature-grid .product-description > .product-price-and-shipping {
  margin-top: auto;
  padding-top: 0.5rem;
  flex-shrink: 0;
}

.product-miniature .ift-product-card-cta {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin-top: auto; /* fallback when price is hidden */
  padding-top: 0.5rem;
  flex-shrink: 0;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
}

/* Keep CTA flush under price (no shared flex gap between them) */
.products-grid .product-miniature .product-description > .product-price-and-shipping ~ .ift-product-card-cta,
.products-grid .product-miniature-layout-3 .product-description-inner > .product-price-and-shipping ~ .ift-product-card-cta,
.product-miniature.product-miniature-grid .product-description > .product-price-and-shipping ~ .ift-product-card-cta {
  margin-top: 0;
}

.product-miniature .ift-product-card-cta .product-add-cart {
  margin-top: 0;
  width: 100%;
}

.product-miniature .ift-product-card-cta .product-add-cart form,
.product-miniature .ift-product-card-cta .input-group-add-cart {
  width: 100% !important;
  max-width: 100%;
  margin: 0;
}

/* Timer cap sits on top of the add-to-cart button */
.product-miniature .ift-product-card-cta .price-countdown-wrapper,
.product-miniature .ift-product-card-cta .ift-sale-timer {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  line-height: 1;
}

.product-miniature .ift-product-card-cta .price-countdown,
.product-miniature .ift-product-card-cta .ift-sale-timer__bar {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
  width: 100%;
  margin: 0;
  padding: 0.4rem 0.55rem;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #0f172a 0%, #111827 100%);
  color: #f8fafc;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  box-shadow: none;
}

.product-miniature .ift-product-card-cta .price-countdown-title,
.product-miniature .ift-product-card-cta .ift-sale-timer__label {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  border: 0;
  color: #94a3b8;
  font-size: 0.625rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.product-miniature .ift-product-card-cta .price-countdown-title .fa,
.product-miniature .ift-product-card-cta .ift-sale-timer__label .fa {
  margin: 0;
  color: #38bdf8;
  font-size: 0.7rem;
}

.product-miniature .ift-product-card-cta .price-countdown-title .time-txt,
.product-miniature .ift-product-card-cta .ift-sale-timer__label .time-txt {
  color: #94a3b8;
}

.product-miniature .ift-product-card-cta .count-down-timer,
.product-miniature .ift-product-card-cta .ift-sale-timer__digits {
  display: inline-flex;
  align-items: center;
  gap: 0.2rem;
  color: #f8fafc;
}

.product-miniature .ift-product-card-cta .countdown-time-group {
  display: inline-flex;
  align-items: baseline;
  gap: 0.12rem;
  color: #94a3b8;
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.product-miniature .ift-product-card-cta .countdown-time {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.45rem;
  padding: 0.12rem 0.28rem;
  border-radius: 5px;
  background: rgba(56, 189, 248, 0.14);
  color: #fdba74;
  font-size: 0.75rem;
  font-weight: 800;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
  line-height: 1.2;
}

/* Kill the old orange/full-width bar look under the price */
.product-miniature .product-price-and-shipping > .price-countdown-wrapper {
  display: none;
}

.product-miniature .product-add-cart {
  margin-top: 0;
  width: 100%;
}

.product-miniature .product-add-cart form {
  margin: 0;
  width: 100%;
  max-width: 100%;
}

.product-miniature .input-group-add-cart {
  display: flex;
  align-items: stretch;
  gap: 0.4rem;
  width: 100% !important;
  max-width: 100%;
}

.product-miniature .input-group-add-cart .input-qty {
  flex: 0 0 3rem;
  width: 3rem;
  min-height: 2.5rem;
  padding: 0.35rem 0.25rem;
  border: 1px solid var(--ift-totals-line, #e2e8f0);
  border-radius: 10px;
  background: var(--ift-totals-soft, #f8fafc);
  color: var(--ift-totals-ink, #0f172a);
  font-size: 0.875rem;
  font-weight: 700;
  text-align: center;
  box-shadow: none;
}

.product-miniature .input-group-add-cart .input-qty:focus {
  border-color: #fdba74;
  outline: 0;
  box-shadow: 0 0 0 3px rgba(249, 115, 22, 0.15);
}

/* Primary add-to-cart — same language as .ift-cart-totals__checkout-btn */
.product-miniature .product-add-cart .btn-product-list.add-to-cart,
.product-miniature .product-add-cart .btn.btn-product-list.add-to-cart {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.4rem;
  flex: 1 1 auto;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 2.5rem !important;
  height: auto !important;
  padding: 0.5rem 0.85rem !important;
  border: 0 !important;
  border-radius: 12px;
  background: linear-gradient(
    135deg,
    var(--ift-totals-brand-dark, #c75012) 0%,
    var(--ift-totals-brand, #f97316) 55%,
    var(--ift-totals-brand-2, #10b981) 100%
  ) !important;
  background-image: linear-gradient(
    135deg,
    var(--ift-totals-brand-dark, #c75012) 0%,
    var(--ift-totals-brand, #f97316) 55%,
    var(--ift-totals-brand-2, #10b981) 100%
  ) !important;
  box-shadow: 0 8px 20px rgba(249, 115, 22, 0.28);
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 800;
  letter-spacing: -0.01em;
  line-height: 1.2;
  text-transform: none;
  text-decoration: none !important;
  white-space: nowrap;
  touch-action: manipulation;
  transition: transform 0.15s ease, box-shadow 0.15s ease, filter 0.15s ease;
}

/* When timer is stacked on the button, share edges */
.product-miniature .ift-product-card-cta:has(.price-countdown-wrapper) .product-add-cart .btn-product-list.add-to-cart,
.product-miniature .ift-product-card-cta:has(.price-countdown-wrapper) .product-add-cart .btn.btn-product-list.add-to-cart,
.product-miniature .ift-product-card-cta:has(.price-countdown-wrapper) .product-add-cart > .btn-product-list:not(.add-to-cart),
.product-miniature .ift-product-card-cta:has(.price-countdown-wrapper) .product-add-cart a.btn-product-list {
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none;
}

.product-miniature .ift-product-card-cta:has(.price-countdown-wrapper):hover .product-add-cart .btn-product-list.add-to-cart {
  filter: brightness(1.04);
}

.product-miniature .product-add-cart .btn-product-list.add-to-cart:hover,
.product-miniature .product-add-cart .btn-product-list.add-to-cart:focus,
.product-miniature .product-add-cart .btn.btn-product-list.add-to-cart:hover,
.product-miniature .product-add-cart .btn.btn-product-list.add-to-cart:focus {
  transform: translateY(-1px);
  box-shadow: 0 12px 26px rgba(249, 115, 22, 0.34);
  filter: brightness(1.03);
  color: #fff !important;
}

.product-miniature .ift-product-card-cta:has(.price-countdown-wrapper) .product-add-cart .btn-product-list.add-to-cart:hover,
.product-miniature .ift-product-card-cta:has(.price-countdown-wrapper) .product-add-cart .btn-product-list.add-to-cart:focus {
  transform: none;
  box-shadow: none !important;
}

.product-miniature .product-add-cart .btn-product-list.add-to-cart:active {
  transform: translateY(0);
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.22);
}

.product-miniature .product-add-cart .btn-product-list.add-to-cart:disabled,
.product-miniature .product-add-cart .btn-product-list.add-to-cart.disabled {
  opacity: 0.55;
  transform: none;
  box-shadow: none;
  filter: none;
  pointer-events: none;
}

.product-miniature .product-add-cart .btn-product-list.add-to-cart .bag-icon,
.product-miniature .product-add-cart .btn-product-list.add-to-cart .spinner-icon,
.product-miniature .product-add-cart .btn-product-list.add-to-cart .fa {
  color: #fff !important;
  font-size: 0.85rem;
}

.product-miniature .product-add-cart .btn-product-list.add-to-cart .spinner-icon {
  display: none;
}

.product-miniature .product-add-cart .btn-product-list.add-to-cart.processing .bag-icon,
.product-miniature .product-add-cart .btn-product-list.add-to-cart.added .bag-icon {
  display: none;
}

.product-miniature .product-add-cart .btn-product-list.add-to-cart.processing .spinner-icon {
  display: inline-block;
}

/* Fallback “View” when not purchasable — matches cart secondary actions */
.product-miniature .product-add-cart > .btn-product-list:not(.add-to-cart),
.product-miniature .product-add-cart a.btn-product-list {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 2.5rem !important;
  height: auto !important;
  padding: 0.5rem 0.85rem !important;
  border: 1px solid var(--ift-totals-line, #e2e8f0) !important;
  border-radius: 12px;
  background: var(--ift-totals-soft, #f8fafc) !important;
  background-image: none !important;
  box-shadow: none;
  color: var(--ift-totals-ink, #0f172a) !important;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  text-transform: none;
  text-decoration: none !important;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.product-miniature .product-add-cart > .btn-product-list:not(.add-to-cart):hover,
.product-miniature .product-add-cart > .btn-product-list:not(.add-to-cart):focus,
.product-miniature .product-add-cart a.btn-product-list:hover,
.product-miniature .product-add-cart a.btn-product-list:focus {
  background: #fff7ed !important;
  border-color: #fed7aa !important;
  color: var(--ift-totals-brand-dark, #c75012) !important;
  transform: none;
  filter: none;
}

/* List view: keep button a sensible width */
.product-miniature-list .ift-product-card-cta {
  width: auto;
  min-width: 11rem;
}

.product-miniature-list .product-add-cart .btn-product-list.add-to-cart,
.product-miniature-list .product-add-cart > .btn-product-list:not(.add-to-cart),
.product-miniature-list .product-add-cart a.btn-product-list {
  width: auto;
  min-width: 9.5rem;
}

@media (max-width: 575.98px) {
  .product-miniature .product-add-cart .btn-product-list.add-to-cart,
  .product-miniature .product-add-cart > .btn-product-list:not(.add-to-cart),
  .product-miniature .product-add-cart a.btn-product-list {
    min-height: 2.65rem;
    font-size: 0.8125rem;
  }

  .product-miniature .ift-product-card-cta .countdown-time {
    min-width: 1.3rem;
    font-size: 0.6875rem;
  }
}

/* —— Sale / discount flags (product image badges) —— */
.product-miniature .product-flags.js-product-flags {
  position: absolute;
  top: 0.55rem;
  left: 0.55rem;
  right: auto;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.3rem;
  margin: 0;
  padding: 0;
  list-style: none;
  pointer-events: none;
}

.product-miniature .product-flags .product-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 !important;
  padding: 0.28rem 0.55rem !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 0.6875rem !important;
  font-weight: 800 !important;
  letter-spacing: 0.03em;
  line-height: 1.2 !important;
  text-transform: uppercase;
  white-space: nowrap;
  box-shadow: 0 6px 14px rgba(15, 23, 42, 0.14);
}

.product-miniature .product-flags .product-flag.on-sale {
  background: rgba(255, 255, 255, 0.96) !important;
  color: var(--ift-totals-brand-dark, #c75012) !important;
  border: 1px solid #fed7aa !important;
  box-shadow: 0 4px 12px rgba(249, 115, 22, 0.14);
}

.product-miniature .product-flags .product-flag.discount {
  background: linear-gradient(
    135deg,
    var(--ift-totals-brand-dark, #c75012) 0%,
    var(--ift-totals-brand, #f97316) 55%,
    var(--ift-totals-brand-2, #10b981) 100%
  ) !important;
  color: #fff !important;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.28);
}

.product-miniature .product-flags .product-flag.new {
  background: #0f172a !important;
  color: #fdba74 !important;
}

.product-miniature .product-flags .product-flag.pack,
.product-miniature .product-flags .product-flag.online-only {
  background: #f8fafc !important;
  color: #0f172a !important;
  border: 1px solid #e2e8f0 !important;
}

/* —— Left-column category tree — ink rail / filter-panel design —— */
#left-column .block-categories,
.block-categories {
  --ift-tree-ink: #0f172a;
  --ift-tree-muted: #64748b;
  --ift-tree-brand-dark: #c75012;
  --ift-tree-brand: #f97316;
  --ift-tree-brand-2: #10b981;
  --ift-tree-line: #e2e8f0;
  --ift-tree-wash: #f1f5f9;
  background: var(--ift-tree-wash) !important;
  border: 1px solid var(--ift-tree-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 1.5rem !important;
  width: 100%;
  overflow: hidden;
}

#left-column .block-categories .block-title,
.block-categories .block-title {
  position: relative;
  padding: 0.85rem 1rem !important;
  margin: 0 !important;
  border-bottom: none !important;
  background: var(--ift-tree-ink);
}

#left-column .block-categories .block-title::after,
.block-categories .block-title::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3px;
  border-radius: 0;
  background: linear-gradient(
    90deg,
    var(--ift-tree-brand-dark),
    var(--ift-tree-brand) 55%,
    var(--ift-tree-brand-2)
  );
}

#left-column .block-categories .block-title a.back-to-parent,
.block-categories .block-title a.back-to-parent {
  color: #f8fafc !important;
  text-decoration: none !important;
  font-size: 0.75rem !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

#left-column .block-categories .block-title a.back-to-parent:hover,
.block-categories .block-title a.back-to-parent:hover {
  color: #fdba74 !important;
}

#left-column .block-categories .block-title a.back-to-parent i,
.block-categories .block-title a.back-to-parent i {
  display: inline-block !important;
  margin-right: 0 !important;
  font-size: 0.7rem !important;
  color: #38bdf8 !important;
}

#left-column .block-categories .category-top-menu.block-content,
.block-categories .category-top-menu.block-content {
  padding: 0.35rem 0 !important;
  background: #fff;
  overflow: visible;
}

#left-column .block-categories .category-sub-menu,
.block-categories .category-sub-menu {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block;
}

#left-column .block-categories .category-sub-menu li.category-tree-item + li.category-tree-item,
.block-categories .category-sub-menu li.category-tree-item + li.category-tree-item {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

#left-column .block-categories .category-sub-menu li.category-tree-item + li.category-tree-item::before,
.block-categories .category-sub-menu li.category-tree-item + li.category-tree-item::before {
  display: none !important;
  content: none !important;
  border: 0 !important;
}

#left-column .block-categories .category-tree-item,
.block-categories .category-tree-item {
  border-bottom: 1px solid var(--ift-tree-line);
}

#left-column .block-categories .category-tree-item:last-child,
.block-categories .category-tree-item:last-child {
  border-bottom: 0;
}

#left-column .block-categories .category-tree-item .collapse,
.block-categories .category-tree-item .collapse {
  border-left: none !important;
  margin: 0 !important;
  padding: 0 0 0.25rem 0.85rem !important;
  background: #f8fafc !important;
  border-radius: 0 !important;
  box-shadow: inset 3px 0 0 rgba(249, 115, 22, 0.35);
}

#left-column .block-categories .category-tree-item .collapse .category-tree-item,
.block-categories .category-tree-item .collapse .category-tree-item {
  border-bottom-color: #eef2f7;
}

#left-column .block-categories .category-tree-node-wrapper,
.block-categories .category-tree-node-wrapper {
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    min-height 0.2s ease,
    padding 0.2s ease,
    box-shadow 0.2s ease;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  cursor: default;
  min-height: 2.5rem;
  display: flex !important;
  align-items: center;
  width: 100%;
  position: relative;
  padding: 0.45rem 3rem 0.45rem 1rem !important;
  gap: 0.35rem;
  background: transparent !important;
  box-shadow: none !important;
}

#left-column .block-categories .category-tree-node-wrapper::before,
.block-categories .category-tree-node-wrapper::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.45rem;
  bottom: 0.45rem;
  width: 3px;
  border-radius: 0 2px 2px 0;
  background: transparent;
  transition: background 0.15s ease;
}

#left-column .block-categories .category-tree-node-wrapper:hover,
.block-categories .category-tree-node-wrapper:hover {
  background-color: #fff7ed !important;
  min-height: 3.25rem;
  padding-top: 0.7rem !important;
  padding-bottom: 0.7rem !important;
  box-shadow: 0 6px 16px rgba(249, 115, 22, 0.14);
  z-index: 2;
}

#left-column .block-categories .category-tree-node-wrapper:hover .category-item-link,
.block-categories .category-tree-node-wrapper:hover .category-item-link {
  font-size: 0.96875rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em;
}

#left-column .block-categories .category-tree-node-wrapper:hover .category-item-link .text-muted,
.block-categories .category-tree-node-wrapper:hover .category-item-link .text-muted {
  font-size: 0.75rem !important;
  font-weight: 800 !important;
}

#left-column .block-categories .category-tree-node-wrapper:hover::before,
.block-categories .category-tree-node-wrapper:hover::before {
  background: rgba(249, 115, 22, 0.45);
}

#left-column .block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper,
.block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper {
  background: #f8fafc !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

#left-column .block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper::before,
.block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper::before {
  background: linear-gradient(
    180deg,
    var(--ift-tree-brand-dark),
    var(--ift-tree-brand),
    var(--ift-tree-brand-2)
  );
}

#left-column .block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper a,
.block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper a {
  font-weight: 700 !important;
  color: var(--ift-tree-brand-dark) !important;
}

#left-column .block-categories .chevron-hat,
.block-categories .chevron-hat {
  position: absolute;
  right: 0.85rem;
  top: 50%;
  margin-left: 0;
  flex-shrink: 0;
  color: var(--ift-tree-brand-dark) !important;
  width: 2rem;
  height: 2rem;
  min-width: 2rem;
  min-height: 2rem;
  display: flex !important;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(249, 115, 22, 0.12) !important;
  border: 1px solid rgba(249, 115, 22, 0.35);
  cursor: pointer;
  transform: translateY(-50%);
  transform-origin: center center;
  transition:
    transform 0.2s ease,
    color 0.15s ease,
    background-color 0.15s ease,
    border-color 0.15s ease,
    box-shadow 0.15s ease;
  box-shadow: 0 2px 6px rgba(249, 115, 22, 0.12);
  z-index: 1;
}

#left-column .block-categories .chevron-hat i,
.block-categories .chevron-hat i {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  transition: font-size 0.2s ease;
}

#left-column .block-categories .category-tree-node-wrapper:hover .chevron-hat,
.block-categories .category-tree-node-wrapper:hover .chevron-hat {
  color: #fff !important;
  transform: translateY(-50%) scale(1.08);
  background: linear-gradient(
    135deg,
    var(--ift-tree-brand-dark) 0%,
    var(--ift-tree-brand) 55%,
    var(--ift-tree-brand-2) 100%
  ) !important;
  border-color: transparent;
  box-shadow: 0 6px 14px rgba(249, 115, 22, 0.32);
}

#left-column .block-categories .category-tree-node-wrapper:hover .chevron-hat i,
.block-categories .category-tree-node-wrapper:hover .chevron-hat i {
  font-size: 1.25rem;
}

#left-column .block-categories .chevron-hat:hover,
#left-column .block-categories .chevron-hat:focus,
.block-categories .chevron-hat:hover,
.block-categories .chevron-hat:focus {
  color: #fff !important;
  transform: translateY(-50%) scale(1.08);
  background: linear-gradient(
    135deg,
    var(--ift-tree-brand-dark) 0%,
    var(--ift-tree-brand) 55%,
    var(--ift-tree-brand-2) 100%
  ) !important;
  border-color: transparent;
  box-shadow: 0 4px 10px rgba(249, 115, 22, 0.28);
  outline: none;
}

#left-column .block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper .chevron-hat,
.block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper .chevron-hat {
  transform: translateY(-50%) rotate(180deg);
  color: #fff !important;
  background: linear-gradient(
    135deg,
    var(--ift-tree-brand-dark) 0%,
    var(--ift-tree-brand) 55%,
    var(--ift-tree-brand-2) 100%
  ) !important;
  border-color: transparent;
  box-shadow: 0 4px 10px rgba(249, 115, 22, 0.28);
}

#left-column .block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper:hover .chevron-hat,
#left-column .block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper .chevron-hat:hover,
#left-column .block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper .chevron-hat:focus,
.block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper:hover .chevron-hat,
.block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper .chevron-hat:hover,
.block-categories .category-tree-item:has(> .collapse.show) > .category-tree-node-wrapper .chevron-hat:focus {
  transform: translateY(-50%) rotate(180deg) scale(1.08);
}

#left-column .block-categories .category-tree-node-wrapper.active,
.block-categories .category-tree-node-wrapper.active {
  background: rgba(249, 115, 22, 0.1) !important;
  box-shadow: none !important;
}

#left-column .block-categories .category-tree-node-wrapper.active::before,
.block-categories .category-tree-node-wrapper.active::before {
  background: linear-gradient(
    180deg,
    var(--ift-tree-brand-dark),
    var(--ift-tree-brand),
    var(--ift-tree-brand-2)
  );
}

#left-column .block-categories .category-tree-node-wrapper.active a,
#left-column .block-categories .category-tree-node-wrapper.active a .text-muted,
.block-categories .category-tree-node-wrapper.active a,
.block-categories .category-tree-node-wrapper.active a .text-muted {
  color: var(--ift-tree-ink) !important;
  font-weight: 800 !important;
}

#left-column .block-categories .category-tree-node-wrapper.active .text-muted,
.block-categories .category-tree-node-wrapper.active .text-muted {
  background: transparent !important;
  border-color: transparent !important;
  color: var(--ift-tree-brand-dark) !important;
  box-shadow: none !important;
}

#left-column .block-categories .category-tree-node-wrapper.active .chevron-hat,
.block-categories .category-tree-node-wrapper.active .chevron-hat {
  color: #fff !important;
  background: linear-gradient(
    135deg,
    var(--ift-tree-brand-dark) 0%,
    var(--ift-tree-brand) 55%,
    var(--ift-tree-brand-2) 100%
  ) !important;
  border-color: transparent;
  box-shadow: 0 4px 10px rgba(249, 115, 22, 0.28);
}

#left-column .block-categories .category-item-link,
.block-categories .category-item-link {
  display: flex !important;
  align-items: baseline;
  flex-wrap: wrap;
  padding: 0 !important;
  color: #334155 !important;
  text-decoration: none !important;
  flex-grow: 1;
  min-width: 0;
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em;
  transition: font-size 0.2s ease, font-weight 0.2s ease, color 0.2s ease;
}

#left-column .block-categories .category-item-link:hover,
.block-categories .category-item-link:hover {
  color: var(--ift-tree-brand-dark) !important;
}

#left-column .block-categories .category-item-link .text-muted,
.block-categories .category-item-link .text-muted {
  font-size: 0.6875rem !important;
  margin-left: 0.35rem !important;
  color: var(--ift-tree-muted) !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
  line-height: 1.2;
  box-shadow: none !important;
  font-variant-numeric: tabular-nums;
}

#left-column .block-categories .category-item-link::before,
#left-column .block-categories .category-item-link::after,
#left-column .block-categories .category-sub-link::before,
#left-column .block-categories .category-sub-link::after,
.block-categories .category-item-link::before,
.block-categories .category-item-link::after,
.block-categories .category-sub-link::before,
.block-categories .category-sub-link::after {
  display: none !important;
  content: none !important;
}

/* Breadcrumb — hover enlarge (loaded after theme cache; overrides bundled rules) */
#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__list {
  overflow: visible;
}

#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link {
  transform-origin: left center;
  transition:
    color 0.2s ease,
    background-color 0.2s ease,
    transform 0.2s ease,
    box-shadow 0.2s ease,
    padding 0.2s ease,
    font-size 0.2s ease,
    font-weight 0.2s ease;
}

#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__label {
  transition: font-size 0.2s ease, font-weight 0.2s ease;
}

#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__home-icon {
  transition: opacity 0.2s ease, transform 0.2s ease, width 0.2s ease, height 0.2s ease;
}

#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:hover,
#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:focus-visible {
  color: #c75012 !important;
  background: #fff7ed !important;
  text-decoration: none !important;
  outline: none;
  transform: scale(1.05);
  padding: 0.55rem 0.85rem !important;
  font-size: 1.0625rem !important;
  font-weight: 650 !important;
  box-shadow: 0 5px 14px rgba(249, 115, 22, 0.12);
  z-index: 2;
  position: relative;
}

#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:hover .breadcrumb__label,
#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:focus-visible .breadcrumb__label {
  font-size: 1.0625rem;
  font-weight: 650;
}

#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:hover .breadcrumb__home-icon,
#wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:focus-visible .breadcrumb__home-icon {
  opacity: 1;
  width: 19px;
  height: 19px;
  transform: scale(1.04);
}

@media (max-width: 575.98px) {
  #wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:hover,
  #wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:focus-visible {
    transform: scale(1.03);
    padding: 0.45rem 0.7rem !important;
    font-size: 0.875rem !important;
  }

  #wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:hover .breadcrumb__home-icon,
  #wrapper .breadcrumb.breadcrumb--modern .breadcrumb__link:focus-visible .breadcrumb__home-icon {
    width: 16px;
    height: 16px;
  }
}

