/* FAQ: estilos, temas e responsividade próprios. */

.faq-clean-section{ background: #eeeae1; padding: 80px 0; }
.faq-clean-section > .container{ display: grid; grid-template-columns: .8fr 1.2fr; gap: 60px; align-items: start; }
.faq-clean-section .section-clean-head{ display: block; }
.faq-clean-section .section-clean-desc{ margin-top: 20px; }
.faq-clean-deck{ min-width: 0; }
.faq-clean-item{ border-bottom: 1px solid #c6d5e2; transition: border-color var(--transition-fast); }
.faq-clean-item.active{ border-color: transparent; }
.faq-clean-btn{ display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; padding: 22px 0; text-align: left; font-size: .85rem; font-weight: 700; }
.faq-clean-arrow{ transition: transform var(--transition-fast); flex-shrink: 0; }
.faq-clean-item.active .faq-clean-arrow{ transform: rotate(180deg); }@media (max-width: 800px){
.faq-clean-section > .container{ grid-template-columns: 1fr; gap: 12px; }
.faq-clean-section .section-clean-desc{ max-width: none; }}@media (max-width: 580px){
.faq-clean-section{ padding: 54px 0; }}
.faq-clean-deck{

  border-top: 1px solid rgba(18, 64, 113, 0.12);

}
.faq-clean-item{

  border: none !important;

  border-bottom: 1px solid rgba(18, 64, 113, 0.12) !important;

  border-radius: 0 !important;

  background-color: transparent !important;

  box-shadow: none !important;

  overflow: hidden;

  transition: border-color var(--transition-fast);

}
.faq-clean-item.active{

  border: none !important;

  border-bottom: 1px solid rgba(18, 64, 113, 0.12) !important;

  box-shadow: none !important;

}
.faq-clean-btn{

  width: 100%;

  padding: 20px 24px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  text-align: left;

  font-size: 1rem;

  font-weight: 700;

  color: var(--barca-blue-dark);

  cursor: pointer;

  background: transparent;

  border: none;

  transition: color var(--transition-fast);

}
.faq-clean-btn:hover{

  color: var(--barca-pink-dark);

}
.faq-clean-arrow{

  color: var(--slate-400);

  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), color var(--transition-fast);

  flex-shrink: 0;

}
.faq-clean-item.active .faq-clean-arrow{

  transform: rotate(180deg);

  color: var(--barca-blue);

}
.faq-clean-answer{

  display: grid;

  grid-template-rows: 0fr;

  transition: grid-template-rows 0.6s cubic-bezier(.22, 1, .36, 1);

  overflow: hidden;

  padding: 0 24px;

}
.faq-clean-item.active .faq-clean-answer{

  grid-template-rows: 1fr;

}
.faq-clean-answer-inner{

  min-height: 0;

  padding-bottom: 0;

  transition: padding-bottom 0.6s cubic-bezier(.22, 1, .36, 1);

}
.faq-clean-item.active .faq-clean-answer-inner{ padding-bottom: 20px; }
.faq-answer-text{

  font-size: 0.935rem;

  line-height: 1.65;

  color: var(--slate-600);

}
.faq-word-wrap{

  display: inline-block !important;

  white-space: nowrap !important;

  word-break: normal !important;

  overflow-wrap: normal !important;

}
#faq .blur-char,
.faq-clean-item .blur-char {
  opacity: 0;
  filter: blur(8px);
  transform: translateY(2px);
  display: inline-block;
  will-change: opacity, filter, transform;
  transition: opacity 0.5s ease-out, filter 0.5s ease-out, transform 0.5s ease-out !important;
}

#faq .blur-char.visible,
.faq-clean-item .blur-char.visible {
  opacity: 1 !important;
  filter: blur(0px) !important;
  transform: translateY(0px) !important;
}
html.dark .faq-clean-section{ background: #102c45; }
html.dark .faq-clean-btn{ color: #edf4f8; }
html.dark .faq-clean-btn:hover, html.dark .faq-clean-item.active .faq-clean-arrow{ color: var(--barca-pink); }
html.dark .faq-clean-deck{ border-color: #33546c; }
html.dark .faq-clean-item, html.dark .faq-clean-item.active{ border-bottom-color: #33546c !important; }
.faq-clean-answer-inner{ overflow: hidden; }@media (max-width: 580px){
.faq-clean-btn{ padding: 20px 0; font-size: .9rem; }
.faq-clean-answer{ padding-inline: 0; }}