/*
 * Fusion vertical tabs override + What To Know card row (flex wrap, not CSS Grid)
 *
 * Scoped to `.nb-what-to-know` on the Fusion Tabs element so other vertical tab
 * instances on the site keep Avada defaults. Add class `nb-what-to-know` in the
 * Tabs element (Fusion Builder → CSS Class).
 */

@import url('https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,600;0,700;1,400&display=swap');

/* Fusion vertical tabs + card row — What To Know instance only */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know {
  font-family: 'Open Sans', sans-serif;
  --nf-wtk-accent: #799A0B;
  --nf-wtk-card-bg: #dae0cc;
  --nf-wtk-card-radius: 8px;
  /*--nf-wtk-card-shadow: 0 2px 10px rgba(17, 24, 39, 0.06);*/
  --nf-wtk-gap: 12px;
 /* --nf-wtk-offwhite: rgba(17, 24, 39, 0);
  background: var(--nf-wtk-offwhite) !important;*/
  /* Ensure the outer tab layout is always flex — overrides any display:grid from Avada core
     that would cap the nav/content tracks at 50% and make width overrides on children ineffective. */
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  /*padding: 6px;*/
}

/* Left tab rail — flex child that sizes to its own content */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs {
  flex: 0 0 auto;
  min-width: 0;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 6px;
  padding: 0;
  margin: 0;
  list-style: none;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav {
  min-width: 240px;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li {
  border: 0 !important;
  margin: 0;
  box-shadow: none !important;
  float: none !important;
  width: 100%;
  max-width: 100%;
}

/* Text-only pill tab buttons (8px radius in every state) */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  box-sizing: border-box;
  width: 100%;
  border: 0 !important;
  border-radius: 8px;
  background: transparent !important;
  padding: 11px 16px;
  color: #1f2937 !important;
  font-weight: 500 !important;
  line-height: 1.35;
  text-align: left;
  transition: background-color 0.2s ease, color 0.2s ease;
  box-shadow: none !important;
}

/* Reset heading — label only */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .fusion-tab-heading {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  display: block !important;
}

/* Hide icons / imagery inside tab links (keep title text) */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link > i,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link > svg,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link .fontawesome,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link [class*="fusion-icon"],
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link [class*="awb-icon"],
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link .fusion-image-wrapper,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link > img,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link [class*="tab-icon"],
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link .fusion-tab-icon {
  display: none !important;
}

/* Remove Avada / theme pseudo decoration on nav items and links */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link::before,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .tab-link::after,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .fusion-tab-heading::after,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li::before,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li::after {
  display: none !important;
  content: none !important;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li .fusion-tab-heading::before {
  content: none !important;
  display: none !important;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li:not(.active):hover .tab-link {
  color: var(--nf-wtk-accent) !important;
  background-color: rgba(116, 168, 0, 0.10) !important;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li.active .tab-link,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li.active .tab-link:hover,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li.active .tab-link:focus {
  background-color: rgba(116, 168, 0, 0.08) !important;
  color: var(--nf-wtk-accent) !important;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li:not(.active) .tab-link:focus-visible {
  outline: 2px solid var(--nf-wtk-accent);
  outline-offset: 2px;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nav-tabs > li.active .tab-link:focus-visible {
  outline: 2px solid var(--nf-wtk-accent);
  outline-offset: 2px;
}

/* Tab content / wrapper — flex child that fills remaining space.
   flex: 1 1 0% lets it grow into whatever the nav rail leaves behind;
   min-width: 0 prevents long content from bursting out of the flex row. */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .fusion-tabs-content-wrapper {
  flex: 1 1 0%;
  min-width: 0;
  /*padding-left: 40px;*/
}

/* Avada caps .tab-content at 75% / 84.5% from 1200px — let the card row fill width */
@media only screen and (min-width: 1200px) {
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know.clean .tab-content,
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content {
    width: 85%;
    max-width: none;
  }
}

/* Builder rows/columns used inside each tab become card blocks */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content .fusion-builder-row,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content .fusion-row {
  margin-bottom: var(--nf-wtk-gap);
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content .fusion-layout-column .fusion-column-wrapper,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content .fusion-flex-column .fusion-column-wrapper {
  background: var(--nf-wtk-card-bg);
  border-radius: var(--nf-wtk-card-radius);
  box-shadow: var(--nf-wtk-card-shadow);
  padding: 20px 24px;
  height: 100%;
}

/*
 * Flex wrap row (no CSS Grid). Legacy .nf-wtk-grid kept for old saved HTML.
 * col_span 1=25%, 2=50%, 3=75%, 4=100%
 */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-flex,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-grid {
  display: flex;
  flex-wrap: wrap;
  gap: var(--nf-wtk-gap);
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card {
  /*
   * --nf-wtk-width is written inline by the PHP shortcode.
   * The PHP emits calc(X% - var(--nf-wtk-gap)/2) for every non-100% width.
   * Subtracting half the gap per card means two cards whose percentages sum to 100%
   * fill exactly one row: e.g. calc(25% - 6px) + 12px gap + calc(75% - 6px) = 100%.
   * 100%-wide cards receive no subtraction and always fill the full row.
   *
   * To set a free width use [nf_wtk_cell width="X%"] with any CSS percentage.
   * col_span="1|2|3|4" remains supported as 25%|50%|75%|100% aliases.
   */
  min-width: 0;
  box-sizing: border-box;
  flex: 0 0 var(--nf-wtk-width, calc(25% - var(--nf-wtk-gap) / 2));
  max-width: var(--nf-wtk-width, calc(25% - var(--nf-wtk-gap) / 2));
  background: var(--nf-wtk-card-bg);
  border-radius: var(--nf-wtk-card-radius);
  box-shadow: var(--nf-wtk-card-shadow);
  padding: 20px 24px;
  min-height: 180px;
  max-height: 200px;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image {
  padding: 0 !important;
  min-height: 180px;
  max-height: 200px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

/* Carousel inside image cards: propagate height so slides + image frame can fill (see .imgCaro in style.css). */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .fusion-carousel {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .swiper,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .swiper-container {
  flex: 1 1 auto;
  min-height: 0;
  height: 100% !important;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .swiper-autoheight,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .swiper-autoheight .swiper-wrapper {
  height: 100% !important;
  align-items: stretch;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .swiper-wrapper {
  height: 100% !important;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .swiper-slide,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .fusion-carousel-item-wrapper {
  flex: 1 1 auto;
  min-height: 180px;
  max-height: 200px;
  height: 100% !important;
  min-width: 0;
  display: flex !important;
  align-items: stretch;
  justify-content: stretch;
  overflow: hidden;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .fusion-carousel-item-wrapper .fusion-imageframe {
  display: block;
  width: 100%;
  height: 100%;
  max-height: none;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .fusion-image-wrapper {
  flex: 1 1 auto;
  width: 100% !important;
  min-width: 0;
  min-height: 0;
  max-width: none !important;
  height: 100% !important;
  max-height: none !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .fusion-carousel-item-wrapper .fusion-image-wrapper img {
  width: 100% !important;
  height: 100% !important;
  max-width: none;
  max-height: none !important;
  object-fit: cover;
  object-position: center center;
  border-radius: 0;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card-inner {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card-inner > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Card image behavior */
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content img,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 200px;
  object-fit: cover;
  border-radius: var(--nf-wtk-card-radius);
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image img {
  max-height: 200px;
  height: auto;
  width: 100%;
  object-fit: cover;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image .fusion-imageframe {
  display: block;
  width: 100%;
  max-height: 200px;
  height: auto;
}

#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content .img-fill img,
#wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content .cover-image img {
  height: 100%;
  object-fit: cover;
}

/* Below large-desktop: let cards grow with content instead of capping height + scrolling */
@media (max-width: 1200px) {
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card {
    max-height: none;
    overflow-y: visible;
    overflow-x: hidden;
  }

  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card.nf-wtk-card-image {
    max-height: none;
  }

  /* Text + inline images: drop the 200px cap so content sets height (carousel slides keep base sizing). */
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-card:not(.nf-wtk-card-image) img {
    max-height: none;
    height: auto;
  }
}

@media (max-width: 1024px) {
  /* Stack nav above content on narrow viewports */
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know {
    flex-direction: column !important;
    /* Override Fusion Builder inline --awb-margin-top on the tabs root */
    --awb-margin-top: 0px !important;
  }

  /* Keep mobile in true tab order: all headers first, active panel after list. */
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know > .nav-tabs {
    order: 1;
    flex: 0 0 100%;
    width: 100%;
    display: flex;
    flex-direction: column;
  }

  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know > .nav-tabs > li {
    float: none !important;
    width: 100%;
  }

  /* If Avada injects the active pane into the nav flow on mobile, pin it to the end. */
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know > .nav-tabs > .tab-pane,
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know > .nav-tabs > .fusion-tab-content,
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know > .nav-tabs > .fusion-tabs-content-wrapper {
    order: 99;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }

  /* Cards always full-width on mobile regardless of --nf-wtk-width */
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-flex .nf-wtk-card,
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .nf-wtk-grid .nf-wtk-card {
    flex: 0 0 100%;
    max-width: 100%;
  }

  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .tab-content,
  #wrapper .fusion-tabs.vertical-tabs.nb-what-to-know .fusion-tabs-content-wrapper {
    order: 2;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    padding-left: 0;
    padding-top: 0px;
  }
}

/* Tabs bottom margin: overridden in functions.php via fusion_dynamic_css_final (loads after Fusion’s dynamic CSS). */

/* Avada Fusion image frame: hide caption block from media-library / Image element output */
#wrapper .awb-imageframe-caption-container {
  display: none !important;
}
