#section-12 {
  display: none;
}

.sec12-con {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.sec12-text-con {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sec12-text-con h2 {
  color: var(--teritary-col);
  padding: 5px;
}

.sec12-text-con p {
  padding: 15px;
  line-height: 1.6;
  font-size: small;
  text-align: justify;
  justify-content: center;
}

.accordion-container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin: 20px auto;
  border-radius: 5px;
  text-align: justify;
}

.accordion-item {
  width: 350px;
  padding: 10px;
}

.accordion-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: var(--secondary-col);
  color: var(--primary-col);
  padding: 15px;
  cursor: pointer;
  border: none;
  width: 100%;
  text-align: left;
  font-weight: bold;
}

.accordion-header::after {
  content: "";
  display: inline-block;
  margin-left: auto;

  transform: rotate(45deg);
  /* Initial rotation for down arrow */
  border: solid black;
  /* Adjust color */
  border-width: 0 2px 2px 0;
  /* Creates the arrow shape */
  padding: 3px;
  /* Adjust size */
  transition: transform 0.3s ease;
  /* Smooth transition for arrow rotation */
}

.accordion-header.active::after {
  transform: translateY(-50%) rotate(-135deg);
  /* Rotates to point up */
}

.accordion-header:hover {
  background-color: #e0e0e0;
}

.accordion-content {
  padding: 0 15px;
  max-height: 0;
  /* Initially hidden */
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  /* Smooth transition */
}

.accordion-content ul {
  list-style: none;
}

.accordion-content ul span {
  font-size: medium;
  font-weight: 700;
}

.accordion-content ul li {
  font-size: small;
  padding: 2.5px;
}

.accordion-content ul li p {
  padding: 2px;
  line-height: 1.5;
}

/* Class added by JavaScript to show content */
.accordion-content.active {
  max-height: fit-content;
  /* Adjust as needed for content height */
  padding: 10px;
}

@media (max-width: 1200px) {
  .accordion-container {
    max-width: 1100px;
    margin: 20px auto;
    padding: 0 12px;
    gap: 16px;
    justify-content: center;
  }

  .accordion-item {
    /* two columns */
    flex: 0 0 calc(50% - 16px);
    width: calc(50% - 16px);
    max-width: calc(50% - 16px);
    min-width: 260px;
    /* allow shrink but avoid too narrow */
    box-sizing: border-box;
  }

  .accordion-header {
    padding: 14px;
    font-size: 16px;
  }

  .accordion-content {
    padding-left: 14px;
    padding-right: 14px;
  }
}

/* <= 900px — stack vertically, full-width items */
@media (max-width: 900px) {
  #section-12,
  .sec12-con {
    flex-direction: column;
    padding: 18px;
  }

  .accordion-container {
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 0 10px;
    max-width: 720px;
    margin: 12px auto;
  }

  .accordion-item {
    width: 100%;
    flex: 0 0 auto;
    padding: 8px;
    box-sizing: border-box;
  }

  .accordion-header {
    padding: 12px;
    font-size: 15px;
  }
}

/* <= 520px — phones: tighter paddings, readable text, avoid overflow */
@media (max-width: 520px) {
  .accordion-container {
    flex-wrap: wrap;
    padding: 0 8px;
    gap: 10px;
    align-items: center;
  }

  .accordion-item {
    padding: 6px;
    width: 100%;
  }

  .accordion-header {
    padding: 10px;
    width: 100%;
    font-size: 14px;
  }

  .accordion-header::after {
    padding: 2px;
    border-width: 0 2px 2px 0;
  }

  .accordion-content ul li {
    font-size: 13px;
    padding: 4px 0;
  }

  .accordion-content ul span {
    font-size: 15px;
  }

  /* ensure nothing forces horizontal scroll */
  .accordion-container,
  .accordion-item,
  .accordion-header,
  .accordion-content {
    box-sizing: border-box;
  }
}

/* <= 375px — very small phones: smallest comfortable sizes */
@media (max-width: 375px) {
  .accordion-container {
    padding: 0 6px;
    gap: 6px;
    align-items: center;
  }

  .accordion-item {
    padding: 4px;
  }

  .accordion-header {
    padding: 8px;
    font-size: 13.5px;
  }

  .accordion-content ul li {
    font-size: 12px;
    padding: 3px 0;
  }

  .accordion-content ul span {
    font-size: 14px;
  }

  /* arrow size tweak for small screens */
  .accordion-header::after {
    padding: 2px;
    transform-origin: center;
  }

  .accordion-container,
  .accordion-item {
    box-sizing: border-box;
  }
}
