.accordion-item{
  background:#fff;
  margin-bottom:12px;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 6px 18px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.05);
  transition:all .25s ease;
}

/* hover sutil */
.accordion-item:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(0,0,0,.10);
}

.accordion-header{
  padding:16px 18px;
  background:#0d6efd;
  color:#fff;
  cursor:pointer;
  font-weight:600;
  display:flex;
  justify-content:space-between;
  align-items:center;
  transition:background .25s ease;
}

/* efecto hover header */
.accordion-header:hover{
  background:#0b5ed7;
}

/* icono opcional */
.accordion-header::after{
  content:"+";
  font-size:20px;
  transition:transform .25s ease;
}

.accordion-item.active .accordion-header::after{
  content:"–";
}

/* body con animación real */
.accordion-body{
  max-height:0;
  overflow:hidden;
  padding:0 18px;
  background:#f8f9fa;
  color:#333;
  line-height:1.6;
  transition:max-height .35s ease, padding .25s ease;
}

/* activo */
.accordion-item.active .accordion-body{
  max-height:500px;
  padding:16px 18px;
}

/* texto dentro */
.accordion-body p,
.accordion-body li{
  color:#222;
  font-size:15px;
}

/* móvil */
@media(max-width:768px){
  .accordion-header{
    font-size:15px;
    padding:14px;
  }

  .accordion-body{
    font-size:14px;
  }
}