.cfe-accordion {
  background: var(--cfe-ac-bg);
  border-radius: 16px;
  overflow: hidden;
}

.cfe-accordion-item:last-child {
  border-bottom: none;
}

/*
 * .cfe-accordion-head là <button> — Elementor set sẵn style mặc định khá
 * nặng tay cho MỌI <button> trên site (.elementor-kit-15 button {...
 * white-space: nowrap; border; padding; background-color; display;...}),
 * selector đó specificity (0,1,1) cao hơn 1 class đơn (0,1,0) nên đè mất
 * "white-space: normal" của mình — đây chính là lý do chữ dài không xuống
 * hàng được dù title đã có min-width:0. Lồng thêm class cha ".cfe-accordion"
 * để tăng specificity lên (0,2,0), tự nhiên thắng mà không cần !important,
 * đồng thời override rõ từng thuộc tính Elementor đã set.
 */
.cfe-accordion .cfe-accordion-head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  background: none;
  border: none;
  border-radius: 0;
  text-align: left;
  white-space: normal;
  appearance: none;
  -webkit-appearance: none;
  font: inherit;
  cursor: pointer;
}

.cfe-accordion .cfe-accordion-head:hover,
.cfe-accordion .cfe-accordion-head:focus {
  background: none;
}

.cfe-accordion-title {
  flex: 1 1 auto;
  /* Flex item mặc định có min-width:auto = độ rộng chữ (max-content), khiến
     chữ dài tràn ra ngoài thay vì tự xuống hàng — ép về 0 để text co lại và
     wrap đúng trong phần còn lại (sau khi trừ chỗ icon flex:none bên cạnh). */
  min-width: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--cfe-ac-title);
  overflow-wrap: break-word;
}

.cfe-accordion-icon {
  flex: none;
  align-self: center;
  display: flex;
  color: var(--cfe-ac-icon);
  transition: transform 0.2s ease;
}

.cfe-accordion-item.is-open .cfe-accordion-icon {
  transform: rotate(180deg);
}

.cfe-accordion-body {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.25s ease;
}

.cfe-accordion-item.is-open .cfe-accordion-body {
  max-height: 2000px;
}

.cfe-accordion-body-inner {
  padding: 0 16px 16px;
  color: #3f4557;
  font-size: 16px;
  line-height: 1.75;
}

.cfe-accordion-body-inner p {
  margin: 0 0 12px;
}

.cfe-accordion-body-inner p:last-child {
  margin-bottom: 0;
}

.cfe-accordion-body-inner ul,
.cfe-accordion-body-inner ol {
  margin: 0;
  padding-left: 20px;
}
