.kw-accordion{
  display:flex;
  flex-direction:column;
  width:100%;
  min-width:0;
}

.kw-accordion__item{
  width:100%;
  min-width:0;
  overflow:hidden;
  transition:background-color .25s ease,border-color .25s ease,box-shadow .25s ease;
}

.kw-accordion__header{
  --kw-number-column:64px;
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:var(--kw-number-column) minmax(0,1fr) auto;
  align-items:center;
  column-gap:10px;
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  text-align:left;
  cursor:pointer;
  box-sizing:border-box;
  transition:background-color .25s ease,color .25s ease;
  -webkit-appearance:none;
  appearance:none;

  /* Alguns temas/Elementor aplicam nowrap em botões. */
  white-space:normal !important;
}

.kw-accordion__header > *{
  min-width:0;
  max-width:100%;
}

.kw-accordion__header:focus,
.kw-accordion__header:focus-visible{
  background-color:transparent;
  outline:none;
  box-shadow:none;
}

.kw-accordion__header:focus-visible{
  outline:2px solid currentColor;
  outline-offset:-2px;
}

.kw-accordion__number{
  display:block;
  width:100%;
  min-width:0;
  font-weight:700;
  line-height:1;
  white-space:normal;
}

.kw-accordion__title{
  display:block;
  width:100%;
  min-width:0;
  max-width:100%;
  font-weight:600;
  line-height:1.25;

  /* Força quebra responsiva mesmo se o tema definir nowrap. */
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  overflow-wrap:break-word;
  word-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}

.kw-accordion__icon{
  justify-self:end;
  flex:0 0 auto;
  min-width:max-content;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
  transition:transform .25s ease,background-color .25s ease,color .25s ease;
}

.kw-accordion__icon svg{fill:currentColor}
.kw-accordion__icon-open{display:none;align-items:center;justify-content:center}
.kw-accordion__icon-closed{display:flex;align-items:center;justify-content:center}
.kw-accordion__item.is-open .kw-accordion__icon-open{display:flex}
.kw-accordion__item.is-open .kw-accordion__icon-closed{display:none}

.kw-accordion__content{
  overflow:hidden;
  height:0;
  opacity:0;
  visibility:hidden;
  transition-property:height,opacity;
  transition-timing-function:cubic-bezier(.4,0,.2,1);
  will-change:height;
}

.kw-accordion__content.is-animating,
.kw-accordion__item.is-open .kw-accordion__content{
  visibility:visible;
}

.kw-accordion__item.is-open .kw-accordion__content{
  opacity:1;
}

.kw-accordion__content[hidden]{display:none}

.kw-accordion__content-inner{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

.kw-accordion__content-inner,
.kw-accordion__content-inner p,
.kw-accordion__content-inner a,
.kw-accordion__content-inner span{
  max-width:100%;
  white-space:normal;
  overflow-wrap:break-word;
  word-wrap:break-word;
}

.kw-accordion__content-inner p:last-child{margin-bottom:0}

/* Tablet: preserva as três áreas, mas garante espaço real para o título. */
@media (max-width:1024px){
  .kw-accordion__header{
    grid-template-columns:minmax(44px,var(--kw-number-column)) minmax(0,1fr) auto;
    align-items:center;
  }
}

/* Mobile */
@media (max-width:767px){
  .kw-accordion__header{
    grid-template-columns:minmax(40px,var(--kw-number-column)) minmax(0,1fr) auto;
    align-items:start;
  }

  .kw-accordion__number{
    align-self:start;
  }

  .kw-accordion__title{
    align-self:start;
    width:100%;
  }

  .kw-accordion__icon{
    align-self:start;
    justify-self:end;
  }
}

/* Celulares estreitos: reduz apenas a reserva mínima da coluna numérica.
   O valor configurado no Elementor continua sendo respeitado quando couber. */
@media (max-width:480px){
  .kw-accordion__header{
    grid-template-columns:minmax(34px,min(var(--kw-number-column),56px)) minmax(0,1fr) auto;
    column-gap:8px;
  }
}
