
/* IFP WooToolbox – Dynamic Icon Bar */
.ifp-wtb-iconbar {
  --ifp-wtb-iconbar-gap: 18px;
  --ifp-wtb-iconbar-badge: #ff8a00;
  display: flex;
  align-items: flex-start;
  gap: var(--ifp-wtb-iconbar-gap);
  box-sizing: border-box;
  line-height: 1.2;
}

.ifp-wtb-iconbar--align-left { justify-content: flex-start; }
.ifp-wtb-iconbar--align-center { justify-content: center; }
.ifp-wtb-iconbar--align-right { justify-content: flex-end; }

.ifp-wtb-iconbar--valign-top .ifp-wtb-iconbar-item { justify-content: flex-start; }
.ifp-wtb-iconbar--valign-middle .ifp-wtb-iconbar-item { justify-content: center; }
.ifp-wtb-iconbar--valign-bottom .ifp-wtb-iconbar-item { justify-content: flex-end; }
.ifp-wtb-iconbar--equal-height .ifp-wtb-iconbar-item { min-height: 76px; }
.ifp-wtb-iconbar--equal-height.ifp-wtb-iconbar--icons-soft .ifp-wtb-iconbar-item,
.ifp-wtb-iconbar--equal-height.ifp-wtb-iconbar--icons-solid .ifp-wtb-iconbar-item { min-height: 84px; }
.ifp-wtb-iconbar--equal-height .ifp-wtb-iconbar-text { min-height: 34px; justify-content: flex-start; }
.ifp-wtb-iconbar--equal-height .ifp-wtb-iconbar-label { min-height: 16px; display: block; }
.ifp-wtb-iconbar--equal-height .ifp-wtb-iconbar-subtext { min-height: 15px; display: block; }

.ifp-wtb-iconbar--vertical {
  flex-direction: column;
  align-items: flex-start;
}

.ifp-wtb-iconbar--compact {
  gap: calc(var(--ifp-wtb-iconbar-gap) * .65);
}

.ifp-wtb-iconbar-item {
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 7px;
  min-width: 74px;
  color: #1f2937;
  text-decoration: none !important;
  box-sizing: border-box;
  transition: transform .16s ease, box-shadow .16s ease, color .16s ease, background .16s ease, border-color .16s ease;
}

.ifp-wtb-iconbar-item:hover,
.ifp-wtb-iconbar-item:focus {
  color: #111827;
  transform: translateY(-1px);
  outline: none;
}

.ifp-wtb-iconbar-icon-wrap {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  flex: 0 0 auto;
}

.ifp-wtb-iconbar-svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}

.ifp-wtb-iconbar--icons-soft .ifp-wtb-iconbar-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  background: rgba(31, 41, 55, .07);
}

.ifp-wtb-iconbar--icons-solid .ifp-wtb-iconbar-icon-wrap {
  width: 44px;
  height: 44px;
  border-radius: 999px;
  color: #fff;
  background: #111827;
}

.ifp-wtb-iconbar-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-align: center;
  min-width: 0;
}

.ifp-wtb-iconbar-label {
  font-size: 13px;
  font-weight: 600;
  color: currentColor;
}

.ifp-wtb-iconbar-subtext {
  font-size: 12px;
  font-weight: 500;
  color: rgba(31, 41, 55, .78);
}

.ifp-wtb-iconbar-badge {
  position: absolute;
  top: -7px;
  right: -8px;
  min-width: 20px;
  height: 20px;
  padding: 0 6px;
  border-radius: 999px;
  background: var(--ifp-wtb-iconbar-badge);
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  box-sizing: border-box;
  box-shadow: 0 2px 8px rgba(0,0,0,.16);
}

.ifp-wtb-iconbar--badge-pill .ifp-wtb-iconbar-badge {
  min-width: 26px;
  border-radius: 999px;
}

.ifp-wtb-iconbar--badge-corner .ifp-wtb-iconbar-badge {
  top: -4px;
  right: -4px;
  border-radius: 7px;
}

.ifp-wtb-iconbar--badge-hidden .ifp-wtb-iconbar-badge {
  display: none;
}

.ifp-wtb-iconbar--style-cards .ifp-wtb-iconbar-item,
.ifp-wtb-iconbar--style-pill .ifp-wtb-iconbar-item {
  padding: 12px 16px;
  border: 1px solid rgba(15, 23, 42, .10);
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, .06);
}

.ifp-wtb-iconbar--style-cards .ifp-wtb-iconbar-item {
  border-radius: 16px;
}

.ifp-wtb-iconbar--style-pill .ifp-wtb-iconbar-item {
  min-width: 96px;
  border-radius: 999px;
}

.ifp-wtb-iconbar--style-minimal .ifp-wtb-iconbar-item {
  min-width: 58px;
}

.ifp-wtb-iconbar--compact .ifp-wtb-iconbar-item {
  min-width: 44px;
  gap: 4px;
}

.ifp-wtb-iconbar--compact .ifp-wtb-iconbar-icon-wrap {
  width: 30px;
  height: 30px;
}

.ifp-wtb-iconbar--compact .ifp-wtb-iconbar-svg {
  width: 28px;
  height: 28px;
}

.ifp-wtb-iconbar--compact .ifp-wtb-iconbar-label,
.ifp-wtb-iconbar--compact .ifp-wtb-iconbar-subtext {
  font-size: 11px;
}

@media (max-width: 640px) {
  .ifp-wtb-iconbar {
    gap: calc(var(--ifp-wtb-iconbar-gap) * .7);
  }
  .ifp-wtb-iconbar-item {
    min-width: 52px;
  }
  .ifp-wtb-iconbar-label {
    font-size: 12px;
  }
  .ifp-wtb-iconbar-subtext {
    font-size: 11px;
  }
}


.ifp-wtb-iconbar,
.ifp-wtb-iconbar * {
  pointer-events: auto;
}

.ifp-wtb-iconbar {
  position: relative;
  z-index: 3;
}

.ifp-wtb-iconbar-item {
  cursor: pointer;
  z-index: 4;
}
