/* ============================================ */
/* BD VENDING FAQ SECTION - V2 Single Column   */
/* ============================================ */

/* Override parent theme default button styles */
.bd-faq-wrapper button,
.bd-faq-wrapper button[type="button"] {
  border: none;
  outline: none;
  color: #fff;
  text-decoration: none;
  box-shadow: none;
}

.bd-faq-wrapper button:hover,
.bd-faq-wrapper button:focus,
.bd-faq-wrapper button[type="button"]:hover,
.bd-faq-wrapper button[type="button"]:focus {
  border: none;
  outline: none;
  box-shadow: none;
  text-decoration: none;
}

/* Force the FAQ boxed container to use full content width */
.elementor-element.elementor-element-c16931b {
  --content-width: 100% !important;
}

/* Ensure the Elementor HTML widget stretches full width */
#faq-full-content > .elementor-element {
  width: 100%;
}

.bd-faq-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  color: #fff;
  font-family: 'Inter', sans-serif;
}

/* ============ SEARCH BAR ============ */
.bd-faq-search-wrap {
  display: flex;
  align-items: center;
  background: #fff;
  border-radius: 63px;
  overflow: hidden;
  width: 100%;
  max-width: 754px;
  margin-bottom: 30px;
}

.bd-faq-search-input {
  flex: 1;
  border: none;
  outline: none;
  padding: 16px 30px;
  font-size: 20px;
  color: #000;
  background: transparent;
  font-family: 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: -1px;
  border: none !important;
}

.bd-faq-search-input::placeholder {
  color: rgba(0, 0, 0, 0.25);
}

/* ============ FILTER TOPICS ============ */
.bd-faq-filter-title {
  font-size: 35px;
  font-weight: 900;
  color: #fff;
  text-align: center;
  margin: 0 0 20px 0;
  letter-spacing: -1.75px;
}

.bd-faq-topic-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  padding: 0;
  margin: 0 0 40px 0;
  list-style: none;
  width: 100%;
}

.bd-faq-topic-item {
  background: rgba(0, 0, 0, 0.14);
  border: none;
  border-radius: 30px;
  color: #fff;
  font-size: 25px;
  font-weight: 900;
  font-family: 'Inter', sans-serif;
  padding: 18px 16px;
  cursor: pointer;
  transition:
    background 0.3s ease,
    opacity 0.3s ease;
  text-transform: uppercase;
  letter-spacing: -1.25px;
  text-align: center;
  line-height: 1.2;
  opacity: 0.35;
  white-space: normal;
  overflow-wrap: break-word;
  width: calc(25% - 12px);
  max-width: 280px;
  box-sizing: border-box;
}

.bd-faq-topic-item:hover,
.bd-faq-topic-item:focus {
  background: rgba(0, 0, 0, 0.3);
  color: #fff;
  text-decoration: none;
}

.bd-faq-topic-item.active,
.bd-faq-topic-item.active:hover,
.bd-faq-topic-item.active:focus {
  background: #ffc62a;
  opacity: 1;
  color: #fff;
  text-decoration: none;
}

/* ============ ACCORDION ITEMS ============ */
.bd-faq-items {
  display: flex;
  flex-direction: column;
  gap: 26px;
  width: 100%;
}

/* Collapsed state */
.bd-faq-item {
  background: rgba(0, 0, 0, 0.14);
  border-radius: 63px;
  overflow: hidden;
  transition:
    background 0.3s ease,
    border-radius 0.3s ease;
}

/* Expanded state */
.bd-faq-item.active {
  background: rgba(0, 0, 0, 0.42);
  border-radius: 40px;
}

.bd-faq-item-header {
  display: flex;
  align-items: center;
  padding: 22px 36px;
  cursor: pointer;
  position: relative;
  gap: 24px;
}

.bd-faq-item.active .bd-faq-item-header {
  padding: 36px 40px 10px 40px;
}

/* ============ LEFT: QUESTION ============ */
.bd-faq-item-left {
  flex: 1;
  min-width: 0;
}

.bd-faq-item-question {
  font-size: 30px;
  font-weight: 900;
  color: #fff;
  margin: 0;
  line-height: 1.04;
  letter-spacing: 0px;
}

.bd-faq-item.active .bd-faq-item-question {
  font-size: 36px;
  line-height: 1.04;
}

/* ============ ANSWER (below header when active) ============ */
.bd-faq-item-answer {
  display: none;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 400;
  color: #fff;
  padding: 0 40px 36px 40px;
}

.bd-faq-item.active .bd-faq-item-answer {
  display: block;
}

.bd-faq-item-answer p {
  margin: 0;
}

.bd-faq-item-answer p + p {
  margin-top: 12px;
}

/* ============ TOGGLE BUTTON ============ */
.bd-faq-item-toggle {
  background: none;
  border: none;
  color: #fff;
  font-size: 60px;
  cursor: pointer;
  padding: 0;
  margin-left: auto;
  line-height: 0.6;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bd-faq-item-toggle:hover,
.bd-faq-item-toggle:focus {
  background: none;
  color: #fff;
  text-decoration: none;
}

.bd-faq-toggle-icon {
  display: block;
  transition: transform 0.3s ease;
  font-weight: 500;
}

/* ============ HIDDEN BY FILTER/SEARCH ============ */
.bd-faq-item.hidden {
  display: none;
}

/* ============ PAGINATION HIDDEN ============ */
.bd-faq-item.bd-faq-paged {
  display: none;
}

/* ============ CLICK TO VIEW MORE ============ */
.bd-faq-view-more {
  margin-top: 30px;
  background: none;
  border: none;
  color: #fff;
  font-size: 25px;
  font-weight: 900;
  font-family: 'Inter', sans-serif;
  cursor: pointer;
  letter-spacing: -1.25px;
  padding: 10px 20px;
  transition: opacity 0.2s ease;
}

.bd-faq-view-more:hover,
.bd-faq-view-more:focus {
  opacity: 0.7;
  background: none;
  color: #fff;
  text-decoration: none;
}

.bd-faq-view-more.bd-hidden {
  display: none;
}

/* ============ RESPONSIVE ============ */

/* Tablet */
@media (max-width: 1024px) {
  .bd-faq-wrapper {
    max-width: 90%;
  }

  .bd-faq-filter-title {
    font-size: 28px;
  }

  .bd-faq-topic-item {
    font-size: 18px;
    padding: 14px 12px;
    width: calc(25% - 12px);
    max-width: none;
  }

  .bd-faq-item-question {
    font-size: 24px;
  }

  .bd-faq-item.active .bd-faq-item-question {
    font-size: 28px;
  }

  .bd-faq-item-toggle {
    font-size: 44px;
  }

  #faq-full-content {
    padding: 0 !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .bd-faq-wrapper {
    max-width: 100%;
    padding: 0 16px;
  }

  .bd-faq-search-wrap {
    max-width: 100%;
  }

  .bd-faq-search-input {
    font-size: 16px;
    padding: 12px 20px;
  }

  .bd-faq-filter-title {
    font-size: 22px;
    margin-bottom: 14px;
  }

  .bd-faq-topic-list {
    gap: 10px;
    margin-bottom: 24px;
  }

  .bd-faq-topic-item {
    font-size: 16px;
    padding: 12px 22px;
    border-radius: 20px;
    width: calc(50% - 5px);
    max-width: none;
  }

  .bd-faq-item {
    border-radius: 30px;
  }

  .bd-faq-item.active {
    border-radius: 24px;
  }

  .bd-faq-item-header {
    padding: 16px 60px 16px 24px;
  }

  .bd-faq-item.active .bd-faq-item-header {
    padding: 24px 60px 8px 24px;
  }

  .bd-faq-item-question {
    font-size: 18px;
  }

  .bd-faq-item.active .bd-faq-item-question {
    font-size: 22px;
  }

  .bd-faq-item-answer {
    font-size: 15px;
    padding: 0 24px 24px 24px;
  }

  .bd-faq-item-toggle {
    font-size: 36px;
    position: absolute;
    top: 14px;
    right: 24px;
  }

  .bd-faq-view-more {
    font-size: 20px;
  }
}
