/**

 * Package FAQs Block Styles

 *

 * 2-column layout with numbered questions (pfaq- prefix to avoid conflicts)

 */



/* =========================================================

   CONTAINER

========================================================= */

/* Outer section - full width, receives background and Gutenberg spacing */
.pfaq-accordion-two {
  font-family: 'Approach', sans-serif;
  font-weight: 700;
  font-size: 14px;
  line-height: 100%;
  position: relative;
  width: 100%;
}

/* Inner container - max-width and centering */
.pfaq-accordion-two__container {
  max-width: 1200px;
  margin: 0 auto;
}

/* Background pattern styles */
.pfaq-accordion-two.has-bg-pattern {
  position: relative;
  z-index: 1;
}

.pfaq-accordion-two.has-bg-pattern::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: var(--bg-pattern-url);
  background-repeat: repeat;
  background-size: var(--bg-pattern-size, 200px) auto;
  opacity: var(--bg-pattern-opacity, 1);
  z-index: -1;
  pointer-events: none;
}

/* InnerBlocks container */
.pfaq-accordion-two__inner-blocks {
  margin-bottom: 0;
}

.pfaq-accordion-two__inner-blocks:empty {
  display: none;
}

.pfaq-accordion-two__inner-blocks:not(:empty) {
  margin-bottom: 32px;
}



/* =========================================================

   HEADER

========================================================= */

.pfaq-accordion-two__header {

  text-align: center;

  margin-bottom: 48px;

}



.pfaq-accordion-two__title {

  font-family: 'Approach', sans-serif;

  font-size: 36px;

  font-weight: 900;

  line-height: 1.2;

  color: var(--wp--preset--color--contrast, #1a1a1a);

  margin: 0 0 16px 0;

}



.pfaq-accordion-two__description {

  font-family: 'Approach', sans-serif;

  font-size: 18px;

  font-weight: 400;

  line-height: 1.6;

  color: var(--wp--preset--color--contrast-2, #4a4a4a);

  margin: 0;

  max-width: 700px;

  margin-left: auto;

  margin-right: auto;

}



/* =========================================================

   2-COLUMN LAYOUT

========================================================= */

.pfaq-accordion-two__grid {

  display: flex;

  gap: 32px;

  align-items: flex-start;

}



.pfaq-accordion-two__column {

  flex: 1;

  display: flex;

  flex-direction: column;

  gap: 16px;

}



/* =========================================================

   FAQ ITEM

========================================================= */

.pfaq-accordion-two__item {

  background: #fff !important;
  border: none;
  border-radius: 0;
  overflow: visible;
  transition: all 0.3s ease;
  position: relative;

}



/* Left decorative border */

.pfaq-accordion-two__item::before {

  content: '';

  position: absolute;

  left: 0;

  top: 0;

  bottom: 0;

  width: 4px;

  background: var(--wp--preset--color--gray-light, #B0B0B0);

  border-radius: 4px 0 0 4px;

  opacity: 1;

  transition: background 0.3s ease;

}



.pfaq-accordion-two__item.is-open::before {
  background: #0A797E;
}



.pfaq-accordion-two__item:hover {

  background: transparent;

}



.pfaq-accordion-two__item.is-open {

  background: #fff;

  border-radius: 8px;

}



/* =========================================================

   QUESTION BUTTON

========================================================= */

.pfaq-accordion-two__question {

  width: 100%;
  display: flex;
  align-items: end;
  gap: 1px;
  padding: 13px 20px;
  background: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  text-align: left;
  transition: background-color 0.2s ease;

}



.pfaq-accordion-two__question:hover {

  background: transparent;

}



.pfaq-accordion-two__item.is-open .pfaq-accordion-two__question {

  background: var(--wp--preset--color--complementary-3-15, #ebf7f8);
  border-radius: 8px;

}



/* Counter */

.pfaq-accordion-two__counter {

  font-family: 'Approach', sans-serif;
  font-size: 18px;
  font-weight: 700;
  color: var(--wp--preset--color--contrast, #111111);
  flex-shrink: 0;
  min-width: 27px;

}



/* Question Text */

.pfaq-accordion-two__question-text {

  font-family: 'Approach', sans-serif;

  font-size: 18px;

  font-weight: 600;

  line-height: 100%;

  color: #333333;

  flex: 1;

}

.pfaq-accordion-two__item.is-open .pfaq-accordion-two__question-text {
  color: #202C2E;
}



/* Icon */

.pfaq-accordion-two__icon {

  flex-shrink: 0;

  width: 24px;

  height: 24px;

  display: flex;

  align-items: center;

  justify-content: center;

  color: #0A797E;

  transition: transform 0.3s ease;

}



.pfaq-accordion-two__item.is-open .pfaq-accordion-two__icon {

  transform: rotate(180deg);

}



.pfaq-accordion-two__icon svg {

  width: 16px;

  height: 16px;

}



.pfaq-accordion-two__icon path {

  stroke-width: 3.5;

}



.pfaq-accordion-two__icon-vertical {

  transition: opacity 0.3s ease;

}



.pfaq-accordion-two__item.is-open .pfaq-accordion-two__icon-vertical {

  opacity: 0;

}



/* =========================================================

   ANSWER

========================================================= */

.pfaq-accordion-two__answer {

  overflow: hidden;

  transition: all 0.3s ease;

}



.pfaq-accordion-two__answer[hidden] {

  display: block;

  max-height: 0;

  opacity: 0;

}



.pfaq-accordion-two__item.is-open .pfaq-accordion-two__answer {

  max-height: 1000px;

  opacity: 1;

}



.pfaq-accordion-two__answer-inner {
  padding: 15px 40px 20px 20px; /* Left padding aligns with question text after counter */
  font-family: 'Approach', sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.3;
  color: #333333;
  background: #fff;
  border-radius: 0 0 8px 8px;
  margin-top: 4px;
}



.pfaq-accordion-two__answer-inner p {
  margin: 0 0 12px 0;
}



.pfaq-accordion-two__answer-inner p:last-child {
  margin-bottom: 0;
}



.pfaq-accordion-two__answer-inner strong,

.pfaq-accordion-two__answer-inner b {

  font-weight: 600;

  color: var(--wp--preset--color--contrast, #111111);

}



.pfaq-accordion-two__answer-inner ul,

.pfaq-accordion-two__answer-inner ol {

  margin: 12px 0;

  padding-left: 20px;

}



.pfaq-accordion-two__answer-inner li {

  margin-bottom: 8px;

}



/* =========================================================

   EMPTY STATE

========================================================= */

.pfaq-accordion-two__empty {

  text-align: center;

  padding: 60px 20px;

  font-family: 'Approach', sans-serif;

  font-size: 18px;

  color: var(--wp--preset--color--contrast-2, #999);

}



/* =========================================================

   RESPONSIVE - TABLET

========================================================= */

@media (max-width: 900px) {

  .pfaq-accordion-two__grid {

    flex-direction: column;

    gap: 0;

  }



  .pfaq-accordion-two__column {

    width: 100%;

  }

  .pfaq-accordion-two__column:last-child {

    margin-top: 3px;

  }



  .pfaq-accordion-two__title {

    font-size: 28px;

  }



  .pfaq-accordion-two__description {

    font-size: 18px;

  }

}



/* =========================================================

   RESPONSIVE - MOBILE

========================================================= */

@media (max-width: 600px) {



  .pfaq-accordion-two__header {

    margin-bottom: 32px;

  }



  .pfaq-accordion-two__title {

    font-size: 24px;

  }



  .pfaq-accordion-two__description {

    font-size: 14px;

  }



  .pfaq-accordion-two__column {

    gap: 4px;

  }



  .pfaq-accordion-two__question {

    padding: 16px 12px;

    gap: 12px;

  }



  .pfaq-accordion-two__item.is-open .pfaq-accordion-two__question {

    padding-bottom: 8px;

  }



  .pfaq-accordion-two__counter {

    font-size: 14px;

    min-width: 30px;

  }



  .pfaq-accordion-two__question-text {

    font-size: 14px;

  }



  .pfaq-accordion-two__answer-inner {

    padding: 15px 20px;

    font-size: 13px;

  }

}
