/* FXBS Native Signal Tabs v1.0.73
 * Uses Elementor's real `nested-tabs` widget type so every tab keeps its
 * editable child container. The visual treatment matches the original FXBS
 * Signal Tabs row from v54.
 */


/* v72: prevent the native first-tab state flashing on direct Tab 2+ URLs.
 * PHP adds .fxbs-nst-pending before the browser paints. JavaScript removes it
 * only after Elementor confirms the requested button is active. A short CSS
 * failsafe reveals the widget even if a third-party optimizer blocks the tab
 * script, so content can never remain permanently invisible.
 */
.fxbs-signal-tabs-containers {
  transition: opacity 0.16s ease !important;
}

.fxbs-signal-tabs-containers.fxbs-nst-pending {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  animation: fxbs-nst-failsafe-reveal 0s linear 2.4s forwards;
}

.fxbs-signal-tabs-containers.fxbs-nst-ready {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  animation: none;
}

@keyframes fxbs-nst-failsafe-reveal {
  to {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fxbs-signal-tabs-containers {
    transition: none !important;
  }
}

.fxbs-signal-tabs-containers,
.fxbs-signal-tabs-containers *,
.fxbs-signal-tabs-containers > .elementor-widget-container,
.fxbs-signal-tabs-containers .e-n-tabs,
.fxbs-signal-tabs-containers .e-n-tabs-content,
.fxbs-signal-tabs-containers .e-n-tabs-content > .e-con {
  box-sizing: border-box;
}

.fxbs-signal-tabs-containers,
.fxbs-signal-tabs-containers > .elementor-widget-container,
.fxbs-signal-tabs-containers .e-n-tabs,
.fxbs-signal-tabs-containers .e-n-tabs-content,
.fxbs-signal-tabs-containers .e-n-tabs-content > .e-con {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.fxbs-signal-tabs-containers {
  margin: 0 !important;
  padding: 0 !important;
  background: #00150f !important;
}

.fxbs-signal-tabs-containers > .elementor-widget-container {
  margin: 0 !important;
  padding: 0 !important;
  background: #00150f !important;
}

.fxbs-signal-tabs-containers .e-n-tabs {
  --n-tabs-direction: column !important;
  --n-tabs-heading-direction: row !important;
  --n-tabs-heading-width: initial !important;
  --n-tabs-gap: 0px !important;
  --n-tabs-title-gap: 12px !important;
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #00150f !important;
}

/* Original v54 tab-row container. */
.fxbs-signal-tabs-containers .e-n-tabs > .e-n-tabs-heading {
  width: calc(100% - 40px) !important;
  max-width: 1320px !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  justify-content: initial !important;
  flex-wrap: initial !important;
  flex: 0 0 auto !important;
  align-self: center !important;
  gap: 12px !important;
  margin: 0 auto !important;
  margin-inline: auto !important;
  padding: 20px 0 12px !important;
  border: 0 !important;
  background: #00150f !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.fxbs-signal-tabs-containers .e-n-tabs-heading::before,
.fxbs-signal-tabs-containers .e-n-tabs-heading::after,
.fxbs-signal-tabs-containers .e-n-tab-title::before,
.fxbs-signal-tabs-containers .e-n-tab-title::after {
  display: none !important;
  content: none !important;
}

.fxbs-signal-tabs-containers .e-n-tab-title .e-n-tab-icon,
.fxbs-signal-tabs-containers .e-n-tab-title .e-n-tab-icon-wrapper {
  display: none !important;
}

/* Exact original FXBS Signal Tabs button treatment. */
.fxbs-signal-tabs-containers .e-n-tabs-heading > .e-n-tab-title {
  appearance: none !important;
  -webkit-appearance: none !important;
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 55px !important;
  height: auto !important;
  flex: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid #68cd98 !important;
  border-radius: 24px !important;
  background: rgba(104, 205, 152, 0.11) !important;
  color: #6acb99 !important;
  box-shadow: none !important;
  outline: 0 !important;
  cursor: pointer !important;
  font-family: "Anek Telugu", sans-serif !important;
  font-size: 15px !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: normal !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transform: none !important;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease !important;
}

.fxbs-signal-tabs-containers .e-n-tabs-heading > .e-n-tab-title:hover,
.fxbs-signal-tabs-containers .e-n-tabs-heading > .e-n-tab-title:focus-visible {
  border-color: #68cd98 !important;
  background: rgba(104, 205, 152, 0.16) !important;
  color: #6acb99 !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
}

.fxbs-signal-tabs-containers .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"] {
  border-color: #8dcea0 !important;
  background: #8dcea0 !important;
  color: #06151f !important;
  box-shadow: none !important;
  transform: none !important;
}

.fxbs-signal-tabs-containers .e-n-tab-title-text {
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  overflow-wrap: anywhere;
}

/* Do not control panel visibility here. Elementor's native Nested Tabs handler
 * owns active/inactive containers. This is what keeps editing and drag/drop
 * dependable across Elementor versions.
 */
.fxbs-signal-tabs-containers .e-n-tabs > .e-n-tabs-content {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.fxbs-signal-tabs-containers .e-n-tabs-content > .e-con {
  margin-inline: 0 !important;
}

/* Make an empty active child container easy to click in the Elementor canvas.
 * Hidden containers remain hidden because only min-height is supplied here.
 */
.elementor-editor-active .fxbs-signal-tabs-containers .e-n-tabs-content > .e-con,
.elementor-edit-area-active .fxbs-signal-tabs-containers .e-n-tabs-content > .e-con {
  min-height: 150px;
}

@media (max-width: 1024px) {
  .fxbs-signal-tabs-containers .e-n-tabs > .e-n-tabs-heading {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .fxbs-signal-tabs-containers .e-n-tabs > .e-n-tabs-heading {
    width: calc(100% - 20px) !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .fxbs-signal-tabs-containers .e-n-tabs-heading > .e-n-tab-title {
    min-height: 46px !important;
    padding: 0 8px !important;
    border-radius: 18px !important;
    font-size: 12px !important;
  }
}

/* Use the number of configured tabs while keeping the original maximum of
 * four buttons per desktop row. */
.fxbs-signal-tabs-containers[data-fxbs-tab-count="1"] .e-n-tabs > .e-n-tabs-heading {
  grid-template-columns: minmax(0, 1fr) !important;
  width: calc(100% - 40px) !important;
  max-width: 320px !important;
}
.fxbs-signal-tabs-containers[data-fxbs-tab-count="2"] .e-n-tabs > .e-n-tabs-heading {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: calc(100% - 40px) !important;
  max-width: 660px !important;
}
.fxbs-signal-tabs-containers[data-fxbs-tab-count="3"] .e-n-tabs > .e-n-tabs-heading {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  width: calc(100% - 40px) !important;
  max-width: 1000px !important;
}
.fxbs-signal-tabs-containers[data-fxbs-tab-count="4"] .e-n-tabs > .e-n-tabs-heading {
  width: calc(100% - 40px) !important;
  max-width: 1320px !important;
}

@media (max-width: 1024px) {
  .fxbs-signal-tabs-containers[data-fxbs-tab-count="1"] .e-n-tabs > .e-n-tabs-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 320px !important;
  }
  .fxbs-signal-tabs-containers[data-fxbs-tab-count="2"] .e-n-tabs > .e-n-tabs-heading {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    max-width: 660px !important;
  }
  .fxbs-signal-tabs-containers[data-fxbs-tab-count="3"] .e-n-tabs > .e-n-tabs-heading,
  .fxbs-signal-tabs-containers[data-fxbs-tab-count="4"] .e-n-tabs > .e-n-tabs-heading {
    width: calc(100% - 40px) !important;
    max-width: 1000px !important;
  }
}

@media (max-width: 767px) {
  .fxbs-signal-tabs-containers[data-fxbs-tab-count="1"] .e-n-tabs > .e-n-tabs-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100% - 20px) !important;
    max-width: 320px !important;
  }
  .fxbs-signal-tabs-containers[data-fxbs-tab-count="2"] .e-n-tabs > .e-n-tabs-heading,
  .fxbs-signal-tabs-containers[data-fxbs-tab-count="3"] .e-n-tabs > .e-n-tabs-heading,
  .fxbs-signal-tabs-containers[data-fxbs-tab-count="4"] .e-n-tabs > .e-n-tabs-heading {
    width: calc(100% - 20px) !important;
    max-width: none !important;
  }
}

/* v68 hard fallback: the rendered root carries .fxbs-nst-root even when an
 * Elementor release changes the outer widget wrapper class. Keeping the core
 * button rules on the root itself prevents the signal-tab design disappearing
 * after plugin or Elementor updates. */
.e-n-tabs.fxbs-nst-root {
  --n-tabs-direction: column !important;
  --n-tabs-heading-direction: row !important;
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: #00150f !important;
}

.e-n-tabs.fxbs-nst-root > .e-n-tabs-heading {
  width: calc(100% - 40px) !important;
  max-width: 1320px !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  align-self: center !important;
  gap: 12px !important;
  margin: 0 auto !important;
  padding: 20px 0 12px !important;
  border: 0 !important;
  background: #00150f !important;
  box-shadow: none !important;
}

.e-n-tabs.fxbs-nst-root > .e-n-tabs-heading > .e-n-tab-title {
  appearance: none !important;
  -webkit-appearance: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: 55px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 !important;
  padding: 0 20px !important;
  border: 1px solid #68cd98 !important;
  border-radius: 24px !important;
  background: rgba(104, 205, 152, 0.11) !important;
  color: #6acb99 !important;
  box-shadow: none !important;
  outline: 0 !important;
  font-family: "Anek Telugu", sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-align: center !important;
  text-decoration: none !important;
  transform: none !important;
}

.e-n-tabs.fxbs-nst-root > .e-n-tabs-heading > .e-n-tab-title:hover,
.e-n-tabs.fxbs-nst-root > .e-n-tabs-heading > .e-n-tab-title:focus-visible {
  border-color: #68cd98 !important;
  background: rgba(104, 205, 152, 0.16) !important;
  color: #6acb99 !important;
  box-shadow: none !important;
}

.e-n-tabs.fxbs-nst-root > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"] {
  border-color: #8dcea0 !important;
  background: #8dcea0 !important;
  color: #06151f !important;
}

.e-n-tabs.fxbs-nst-root[data-fxbs-tab-count="1"] > .e-n-tabs-heading {
  grid-template-columns: minmax(0, 1fr) !important;
  max-width: 320px !important;
}
.e-n-tabs.fxbs-nst-root[data-fxbs-tab-count="2"] > .e-n-tabs-heading {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  max-width: 660px !important;
}
.e-n-tabs.fxbs-nst-root[data-fxbs-tab-count="3"] > .e-n-tabs-heading {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 1000px !important;
}

@media (max-width: 1024px) {
  .e-n-tabs.fxbs-nst-root > .e-n-tabs-heading {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    max-width: 1000px !important;
  }
}

@media (max-width: 767px) {
  .e-n-tabs.fxbs-nst-root > .e-n-tabs-heading {
    width: calc(100% - 20px) !important;
    max-width: none !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .e-n-tabs.fxbs-nst-root > .e-n-tabs-heading > .e-n-tab-title {
    min-height: 46px !important;
    padding: 0 8px !important;
    border-radius: 18px !important;
    font-size: 12px !important;
  }

  .e-n-tabs.fxbs-nst-root[data-fxbs-tab-count="1"] > .e-n-tabs-heading {
    grid-template-columns: minmax(0, 1fr) !important;
    max-width: 320px !important;
  }
}
