/* ==========================================================================
   Accordion / FAQ Styles
   ========================================================================== */

.faq-container {
  padding-top: 20px;
}

/* FAQ Item wrapper */
.faq-item {
  margin-bottom: 20px;
  border-radius: 4px;
  overflow: hidden;
  border: 1px solid transparent;
  background-color: transparent;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.faq-item.active {
  border-color: #e5e5e5;
  background-color: #ffffff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
}

/* FAQ Header */
.faq-header {
  background-color: #42a5a7;
  color: #ffffff;
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  user-select: none;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
  font-weight: 500;
  font-size: 16px;
}

/* Hover effect on closed items */
.faq-item:not(.active) .faq-header:hover {
  background-color: #000000;
  color: #ffffff;
}

/* FAQ Icons */
.faq-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
}

.faq-icon svg {
  width: 14px;
  height: 14px;
  fill: currentColor;
  transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.faq-icon .icon-opened {
  display: none;
}

.faq-icon .icon-closed {
  display: block;
}

/* Icon visibility when active */
.faq-item.active .faq-icon .icon-opened {
  display: block;
}

.faq-item.active .faq-icon .icon-closed {
  display: none;
}

/* FAQ Content container for animation */
.faq-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

/* FAQ Content Inner padding & styles */
.faq-content-inner {
  padding: 24px;
  font-size: 15px;
  color: #555555;
  line-height: 1.7;
  background-color: #ffffff;
  border-top: none;
}